有很多数据,格式是这样的
由数字与逗号、或是纯数字组成 或是NULL
如果有逗号,就截取第一个逗号之前的数字,没有逗号就直接返回数字
1354534,1545
456465
NULL
查询结果
123
1354534
456465
由数字与逗号、或是纯数字组成 或是NULL
如果有逗号,就截取第一个逗号之前的数字,没有逗号就直接返回数字
例如:
1354534,1545
456465
NULL
查询结果
123
1354534
456465
NULL
很简单的小东西,一开始没写出来,后来集思广益,想到了这么两种方法,在这里记录下来:(col为列名,tb表名)
(1)select case when charindex(',',col)>0 then left(col,charindex(',',col)-1) else col end from tb
--最正规的写法,用判断来做
(2)select left(col,charindex(',',col+',')-1) from tb
--加上一个',',这样就没有单独是数字的记录了,然后再取逗号之前的字符串