1
누구든지 오류를 도와 줄 수 있습니까?열은 부울 유형이지만 표현식은 텍스트 유형입니다. 힌트 : 표현식을 다시 작성하거나 캐스팅해야합니다.
Update table
SET
tentative = case src.tentative
WHEN 1 THEN 't' ELSE 'f' END
FROM table
누구든지 오류를 도와 줄 수 있습니까?열은 부울 유형이지만 표현식은 텍스트 유형입니다. 힌트 : 표현식을 다시 작성하거나 캐스팅해야합니다.
Update table
SET
tentative = case src.tentative
WHEN 1 THEN 't' ELSE 'f' END
FROM table
귀하의 열 tentative
는 BOOLEAN
유형입니다; 그러나 TEXT
형식 값으로 업데이트하려고합니다.
그렇게처럼 업데이트에 BOOLEAN
를 사용하기 만 :
UPDATE table
SET tentative = CASE src.tentative WHEN 1 THEN TRUE ELSE FALSE END
FROM src_table src;
또는
,하지만 어쩌면 덜 분명 당신은이 작업을 수행 할 수 있습니다
UPDATE table
SET tentative = (src.tentative = 1)
FROM src_table src;
't'와 'f'는 TRUE와 FALSE의 유효한 리터럴입니다. –
정확한 문제는 무엇인가? – Hamms
열을 업데이트하려고합니다. 미정은 부울 유형이지만 원본 측에서는 varchar입니다. 전송 중에이 문제가 발생합니다. – Ramesh
부울에서 캐스팅하려고하는 것처럼 보입니다 ... 'THEN 1 ELSE 0 END' 일 때'할 '것을 의미합니까? – Hamms