在逗号分隔的sql字符串中的每个单词周围加上引号?

时间:2016-05-10 17:27:56

标签: sql-server tsql

我有一个这样的字符串:

extend com.google.openrtb.BidRequest {
  optional MyExtension my_extension = 2111;
}

如何让它看起来像这样:

'one, two, three'

所以我可以在IN子句中使用它吗?

1 个答案:

答案 0 :(得分:0)

只需使用REPLACE方法即可。用所需的字符串替换逗号

DECLARE @TestData AS VARCHAR (200) = '''one, two, three''';
DECLARE @ReplacedData AS VARCHAR (200) = '';
SELECT @ReplacedData = REPLACE(@TestData, ', ', ''',''')

如果您想使用@TestData中的IN,则需要使用如下的动态查询:

DECLARE @SqlTest AS VARCHAR (MAX) = '';
SET @SqlTest = 'SELECT * FROM TestTable WHERE ColumnValue IN (' + @ReplacedData + ')'
EXEC (@SqlTest)