我在一栏中有一个搅拌器。列名是PreviousStageIDs。在本专栏中,我有一个字符串数据为12150,13250。我想使用quama作为条件运行SQL语句以分隔12150。当quama发现时,这个字符串意味着sql必须在quama之前获取所有数据。 在这件事上帮助我.... 提前谢谢。
... JAY
12150没有修复一次它是12150第二次它将是14830.我只想采取逗号之前的那个字符串。
JAY
答案 0 :(得分:1)
如果我理解(编辑过的)问题,您希望在逗号分隔的列PreviousStageIds ='12150'中找到 first 子字符串的所有行。为此,您将使用SUBSTRING()和CHARINDEX()函数。
如果子字符串'12150'可以在字符串中任何地方出现,而不仅仅是第一个子字符串,那么你必须使用带有通配符的LIKE运算符,并且快速的kludge是预先添加和附加逗号到字符串:
... where ',' + PreviousStageIds + ',' LIKE '%,12150,%'
您可能还需要修剪字符串中的额外空格。
在关系数据库中存储以逗号分隔的列表通常是最糟糕的做法。