PostgresQL String Concatenation 엔 뭔가 다른 것이 있다.

이 다른 것을 알지 못하면 큰 장애를 유발 할 수 있다.

PostgresQL을 많이 다루어 보지 못해서 생긴 이슈일수도 있다.

꼭 아래 내용을 숙지할 것.

 

String concatenation 2 가지 방법

1. || Operator

||( vertical bar ) 2개를 연속하여 사용하는 방법이며 이것은 NULL 을 인지한다.

따라서 NULL이 들어오면 모든 문자는 NULL이 된다.

select 'A'||NULL; --> NULL Return

Ex) Oracle의 경우, select 'A'||NULL from dual --> 'A' Return 됨.

 

2. concat Function

concat Function은 NULL을 무시한다.

select concat('abc', NULL, 'def'); --> 'abcdef' 즉, NULL을 무시하여 concat('abc','def') 와 같은 결과임.

 

참조 URL) http://www.postgresqltutorial.com/postgresql-concat-function/

 

PostgresQL 에서의 Empty String

소위 말하는 '' 이다.( Single Quatation 2개를 연속해서 씀.)

PostgresQL에서 ''은 NULL 이 아니고 말 그대로 "빈 문자열" 자체의 의미이다.

하지만 다른 DB에서는 NULL 로 인지한다.

따라서 select * from aaa where col1 is null 과 where col1 = '' 은 다르다.

그리고 not null 컬럼에 ''이 들어갈수 있다. 육안으로 보기엔 null처럼 보이니 주의해야 한다.

 

 

+ Recent posts