2015-01-27 1 views
1

I 모습 myfield에 데이터가를 사용하여 필드를 업데이트.는 우측 charIndex의 기능

나는 오른쪽 & charindex의 조합을 사용했지만, 업데이트 문을 실행할 때 모든 것이 지워집니다. 이것은 내가 지금 가지고있는 것입니다 :

update mytable 
set myfield = RIGHT(myfield, charindex(',', myfield)-1) 
where myfield like 'un%' and myfield like '%,%' 

누군가 내가 뭘 잘못하고 있다고 말할 수 있습니까?

답변

2

RIGHT()은 문자열 끝에있는 문자입니다. 그 것은 CHARINDEX()이 리턴하는 것과는 아무 관련이 없습니다. 왜냐하면 그 함수는 처음부터 세는 위치를 반환하기 때문입니다.

당신은 당신이 substring()을 사용하여 원하는 일을 할 수 있습니다 : 나는 하나의 상태로 where 절에 두 가지 조건을 결합

update mytable 
    set myfield = substring(myfield, charindex(',', myfield) + 1, length(myfield)) 
    where myfield like 'un%,%' ; 

공지 사항.

+0

1 where 절의 두 조건을 결합한 투표! 멋지다! –