동시에 열 두 개를 설정하려고하면 내 업데이트가 작동하지 않는 이유를 아는 사람이 있습니까?업데이트 문에서 RIGHT 함수에 전달 된 길이 매개 변수가 올바르지 않습니다.
UPDATE mytable
SET [Customer] = RIGHT([Customer], CHARINDEX('#', REVERSE([Customer])) -1) ,
[Segment] = RIGHT([Segment], CHARINDEX('#', REVERSE([Segment])) -1)
WHERE CHARINDEX('#', [Customer]) > 0 OR
CHARINDEX('#', [Segment]) > 0
쿼리를 실행하여 하나의 열만 업데이트하면 작동하는 것으로 예상됩니다.
Invalid length parameter passed to the RIGHT function. The statement has been terminated.
내가 CHARINDEX가 0을 반환하지만 WHERE 절과 그 제어하려고 할 때 이런 일 수 있다는 것을 알고 : 나는 모두 실행하면, 나는 다음과 같은 잘못을 얻을.
안녕 고든, 는 내가 그것을 언급하지 않았다 미안 해요,하지만 난 시도 같은 결과 .. 그런 다음 쿼리 실행되지만 항상 0 행에 영향을 .. 하지만 내가 개별적으로 실행할 때 모든 행에 영향을 미친다는 것을 알고 있습니다. 모두 영향을받습니다. –
그래, 지금 비어있는 데이터의 경우라고 생각합니다. 일부 데이터가 없습니다. 테이블 아직. 감사! –