myfield中的数据如下:
UNDC, UNKN
UNDC, MUA
UNKN, BUS
我想更新myfield,只留下逗号之后的文字。
我一直在使用正确和组合的组合。 charindex,但是当我运行update语句时,一切都被删除了。这就是我现在所拥有的:
update mytable
set myfield = RIGHT(myfield, charindex(',', myfield)-1)
where myfield like 'un%' and myfield like '%,%'
有人可以告诉我我在这里做错了吗?
答案 0 :(得分:2)
RIGHT()
正在计算字符串末尾的字符数。这与CHARINDEX()
返回的内容无关,因为该函数返回从头开始计算的位置。
您可以使用substring()
:
update mytable
set myfield = substring(myfield, charindex(',', myfield) + 1, length(myfield))
where myfield like 'un%,%' ;
请注意,我将where
子句中的两个条件合并为一个条件。