我有一个像这样的字符串:
'one, two, three'
Run Code Online (Sandbox Code Playgroud)
我怎样才能让它看起来像这样:
'one','two','three'
Run Code Online (Sandbox Code Playgroud)
所以我可以在 IN 子句中使用它吗?
只需使用 REPLACE 方法即可。将逗号替换为所需的字符串
DECLARE @TestData AS VARCHAR (200) = '''one, two, three''';
DECLARE @ReplacedData AS VARCHAR (200) = '';
SELECT @ReplacedData = REPLACE(@TestData, ', ', ''',''')
Run Code Online (Sandbox Code Playgroud)
@TestData
如果您想在 中使用IN
,则需要使用如下动态查询:
DECLARE @SqlTest AS VARCHAR (MAX) = '';
SET @SqlTest = 'SELECT * FROM TestTable WHERE ColumnValue IN (' + @ReplacedData + ')'
EXEC (@SqlTest)
Run Code Online (Sandbox Code Playgroud)