当前位置: 首页 > 知识库问答 >
问题:

如何在 sybase ASE 中删除引号

吕博耘
2023-03-14

我有一个字符串:

"16680,16678,16677,16676,16675,16672"

这是我在调用存储过程传递的参数时得到的。我想把这些记录插在哪里

其中 (16680,16678,16677,16676,16675,16672)。

如何在 Sybase ASE 存储过程中执行此操作?

共有1个答案

和斌
2023-03-14

您可以使用str_replace()函数将双引号替换为NULL,例如:

declare @strings varchar(15)

select  @strings = '"1,2,3,4,5"'

select  @strings, str_replace(@strings,'"',NULL)
go

 --------------- ---------------
 "1,2,3,4,5"     1,2,3,4,5

不过,将新字符串输入查询需要更多的工作。

尝试直接输入查询会生成错误,例如:

declare @strings varchar(15)

select  @strings = '"1,2,3,4,5"'

select id from sysobjects where id in ( str_replace(@strings,'"',NULL) )
go

Msg 257, Level 16, State 1:
Server 'ASE400', Line 7:
Implicit conversion from datatype 'VARCHAR' to 'INT' is not allowed.  Use the CONVERT function to run this query.

为了解决这个问题,我们可以动态构建查询,然后通过执行()调用运行它,例如:

declare @strings varchar(15),
        @query   varchar(100)

select  @strings = '"1,2,3,4,5"'

select  @query = 'select id from sysobjects where id in (' || str_replace(@strings,'"',NULL) || ')'

print   @query

execute (@query)
go

select id from sysobjects where id in (1,2,3,4,5)

 id
 -----------
           1
           2
           3
           4
           5

另一个取消< code>@query变量的解决方案是:

declare @strings varchar(15)

select  @strings = '"1,2,3,4,5"'
select  @strings = str_replace(@strings,'"',NULL)

execute( 'select id from sysobjects where id in (' || @strings || ')' )
go

 id
 -----------
           1
           2
           3
           4
           5

注意:所有代码都在< code>ASE 16.0 SP04 GA实例中运行。

 类似资料:
  • 我对SqlAlchemy和Firebird DB是新手。 我可以直接使用DBeaver创建一个表: 但如果我尝试使用pyndas sqlalchemy执行同样的操作,我会得到一个错误: 问题是由引号

  • 我想从字符串中删除双引号中的逗号/逗号。 即以下字符串 应输出: 我试过这个正则表达式: 但是如果双引号中有双引号,它就失败了。 另一个例子: 输出:

  • 本文向大家介绍如何使用Java在MongoDB中删除索引?,包括了如何使用Java在MongoDB中删除索引?的使用技巧和注意事项,需要的朋友参考一下 在MongoDB中删除索引,您需要使用dropIndex()方法。 语法 在Java中,可以使用dropIndex()方法删除索引,您需要将索引的类型(升序或降序)和在其上创建字段的名称传递给该方法。 示例 输出结果

  • 输出为 预期输出

  • 如何删除每个索引,我有一个参数和删除按钮,我试图将我的参数放在我的删除按钮中,但它不起作用如何解决这个问题? 超文本标记语言

  • 我想从elasticsearch索引中删除一些数据,而不是完整的索引,我的问题是如何找到所有可用碎片的文档id。对此的查询是什么?? 我使用了以下查询来删除特定文档,但它抛出错误,所以我认为我的文档ID是错误的。请让我知道如何获取可用分片的正确文档ID。 我的数据流是postgresql到logstash到elasticsearch到kibana。但问题是索引大小正在增加很多,它进入GB的内存,而