我有一个checkboxlist
。所选(选中)的项目存储在中List<string> selected
。
例如,选择的值monday,tuesday,thursday
超过7天
我正在转换List<>
为以逗号分隔的string
,即
string a= "monday,tuesday,thursday"
现在,我将此值作为字符串传递给存储过程。我想触发查询,如:
Select *
from tblx
where days = 'Monday' or days = 'Tuesday' or days = 'Thursday'`
我的问题是:如何在存储过程中分离字符串?
如果传递逗号分隔(任何分隔符)的字符串来存储过程并在查询中使用,那么必须吐出该字符串,然后才能使用它。
下面有例子:
DECLARE @str VARCHAR(500) = 'monday,tuesday,thursday'
CREATE TABLE #Temp (tDay VARCHAR(100))
WHILE LEN(@str) > 0
BEGIN
DECLARE @TDay VARCHAR(100)
IF CHARINDEX(',',@str) > 0
SET @TDay = SUBSTRING(@str,0,CHARINDEX(',',@str))
ELSE
BEGIN
SET @TDay = @str
SET @str = ''
END
INSERT INTO #Temp VALUES (@TDay)
SET @str = REPLACE(@str,@TDay + ',' , '')
END
SELECT *
FROM tblx
WHERE days IN (SELECT tDay FROM #Temp)
问题内容: 如何将逗号分隔的字符串拆分为存储过程中的字符串,并将其插入表字段中? 使用Firebird 2.5 问题答案: 这里有一个示例如何分割字符串并将子字符串写入表中:
在逗号处划分字符串的最佳方法是什么,这样每个单词都可以成为ArrayList的一个元素? 例如:
问题内容: 如何在MySQL存储过程中拆分逗号分隔的文本(ID列表)以在SQL“ IN”语句中使用结果。 问题答案: 您可以通过两种方式做到这一点: SQL库 原生与REGEXP
问题内容: 我已经尝试过一些试验,但还不能解决。任何帮助,将不胜感激。 我有一个像下面的表。 我正在寻找的结果是。它会删除所有重复项,并仅保留具有其关联ID的不同值。 我试图用(len(replace(@ProjectNames,’,’))来计算逗号的数量 使用http://www.logiclabz.com/sql-server/split-function-in-sql-server-to-b
问题内容: 我需要编写一个扩展版本的StringUtils.commaDelimitedListToStringArray函数,该函数具有一个附加参数:转义字符。 所以打电话给我: 应该返回: 我当前的尝试是使用String.split()使用正则表达式拆分String: 但是返回的数组是: 有任何想法吗? 问题答案: 正则表达式 意思是“匹配不是反斜杠后跟逗号的字符”-这就是为什么模式之所以匹配
问题内容: 当我有1、2、3等字符串列表时,我想将此列用作一列 是否可以通过sql查询? 例如) <-我知道这不起作用。 问题答案: 使用任意数字的子查询来分割您的字符串。您可以使用‘1,2,3’代替vals。 看到它正常工作