使用right&更新字段charindex函数

时间:2015-01-27 23:40:13

标签: sql tsql charindex

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 '%,%'

有人可以告诉我我在这里做错了吗?

1 个答案:

答案 0 :(得分:2)

RIGHT()正在计算字符串末尾的字符数。这与CHARINDEX()返回的内容无关,因为该函数返回从头开始计算的位置。

您可以使用substring()

执行您想要的操作
update mytable
    set myfield = substring(myfield, charindex(',', myfield) + 1, length(myfield))
    where myfield like 'un%,%' ;

请注意,我将where子句中的两个条件合并为一个条件。