如何从sql中的字符串中删除引号?

时间:2018-02-26 02:51:36

标签: sql sql-server

如何将'5,6'替换为5,6 in sql或'5'替换为5.因为当我写sql时:

SELECT  ID,RuleStatus as Name FROM RulesStatus where ID in ('5,6') 

我没有得到任何结果。我从应用程序中获取此值作为参数。

1 个答案:

答案 0 :(得分:1)

你做不到。 '5,6'是一个字符串,而(5, 6)是一个值列表。两者不一样。

你怎么处理这个?以下是一些可能性:

  • 使用string_split()或相关功能将其分解为值:where RulesStatus in (select * from string_slit('5,6', ','))
  • 使用XML解析达到同样的效果。
  • 使用递归CTE拆分字符串。
  • 使用字符串逻辑:where ',' + '5,6' + ',' like '%,' + cast(RuleStatus as varchar(255)) + ',%')
  • 使用动态SQL
  • 使用临时表/表变量来存储值列表