2012-06-11 7 views
3

비어 있거나 비어 있지 않은 필드가있는 열에 대해 CONCAT를 실행하려고합니다.원본 필드가 비어있을 때 sql concat

SET A = CONCAT(A, '_b') 

a_b을 제공합니다 : 필드가 비어 있지 않은 경우 coulmn A의 필드는이 동일한 경우, 아무 문제, 즉이 없습니다. 문제는 A 열의 필드가 비어 있으면 연결이 아무것도 반환하지 않는다는 것입니다. 필드가 비어 있어도 연결하는 방법이 있습니까?이 예제에서는 '_b'를 반환할까요? SQL 서버

SET A = CONCAT(isnull(A,''), '_b') 

의 MySQL에서 사용 IFNULL에서

+0

어떤 RDMS를 사용 하시겠습니까? 대부분 Null을 값으로 변환하는 함수가 있습니다. – hardmath

답변

5
+0

빠른 응답! 감사! –

+1

사소한 암말 : 그들은 'isNull'을 가지고 있지만 Microsoft 나 Sybase SQL Server가 문자열 연결을위한'CONCAT' 함수를 지원하지 않았다고 생각합니다. 오히려 그들은 concatentation 연산자로 문자열 표현식에 '+'를 제공합니다. 오라클은 이것을 위해'CONCAT' 함수를 가지고 있습니다 (두 개의 인수로 제한되어 있지만, 여러 용도로 중첩 할 수는 있지만 isNull은 사용할 수 없습니다). 오라클은 링크 된 w3schools 페이지에서 언급 한 것처럼 Null 값을 대체하는 NVL 함수를 제공합니다. – hardmath

관련 문제