gpt4 book ai didi

sql - 使用 SQL Server 2008 检查 select 语句中的字符串

转载 作者:行者123 更新时间:2023-12-02 09:36:24 25 4
gpt4 key购买 nike

这里我需要检查格式为“a,c,e”的字符串。当用户从复选框中选择多个选项并且在查询中我需要使用当前列对其进行检查时,就会发生这种情况。

示例:

给定字符串:

'a,c,e'

需要检查给定字符串的每个单词是否出现在列 columnA 中:

columnA    columnB
-------------------
a 1
b 2
c 3
d 4
e 5
f 6
g 7
h 8

如果 a,c,e 出现在 columnA 列中,则应使用 columnB 进行检索:

预期结果:

columnA   columnB
------------------
a 1
c 3
e 5

我的尝试:

select columnA,columnB from 
test where columnA ='a'
or columnA = 'c'
or columnA = 'e'

没感觉!这是这样做的优化方法。这对于字符串值同时变化的动态查询也不好。

最佳答案

尝试下面的代码:

DECLARE @COMMASEPSTR NVARCHAR(200), @SQL nvarchar(max), @STR  nvarchar(100) = 'a,b,c'
SET @COMMASEPSTR= '''' + REPLACE(@STR,',',''',''') + ''''

SET @SQL = 'select columnA,columnB from
test where columnA IN ( ' + @COMMASEPSTR + ')'
EXEC sp_executesql @SQL

如果我有什么地方说错了,请告诉我。

关于sql - 使用 SQL Server 2008 检查 select 语句中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25736584/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com