TSQL Patindex单个数值

时间:2015-07-17 10:34:30

标签: sql sql-server sql-server-2008 tsql

我想帮助您使用Patindex函数解决以下问题我无法检索或提取单个数值作为下面的值中的示例我想检索值2,但在我的结果集中值22也出现或完全省略。

我需要提取单个数值2而不是22

“2 8 7”

“2 8”

“2”

“22”

“3 2 8”

我尝试了以下内容 Patindex('%[2]%[^ 0-9] [^ 1] [^ 3] [^ 4] [^ 5] [^ 6] [^ 7] [^ 8] [^ 9]',替换(将(Marketing_Special_Attributes,'“',''),'^','')替换为Col3,

Patindex('[2]',替换(替换(Marketing_Special_Attributes,'“',''),'^',''))为Col4,

Patindex('%[2] [^ 0-9]%',替换(Marketing_Special_Attributes,'^','')),

感谢所有帮助

1 个答案:

答案 0 :(得分:1)

您可以使用以下标识识别单个数字:

okHttpClient.cancel("taggiventorequest");

因此,你可以做类似的事情来找到一个模式:

where ' ' + col + ' ' like '% [0-9] %'

(由于空格,select substr(col, patindex('% [0-9] %', ' ' + col + ' '), 1) 值相对于原始字符串是1比1。)

但是,您似乎将数字列表存储为字符串 - 这是一个坏主意。列表应存储在表中,每个实体和实体项一行。