[MSSQL] 문자열 계산식에서의 null의 취급
MS SQL |
2011. 2. 11. 19:32
SQL 서버에서는 문자열 컬럼을 계산식에서 사용할 떄 값이 null을 갖을 경우 결과는 null을 돌려주게 된다.
ORACLE에서는 null은 공백문자와 같은 취급이기 때문에 null은 그냥 공백문자 취급이 되지만 MS SQL Server에서는 다른 결과를 돌려주기 때문에 주의해야 한다.
MS SQL 서버에서 실행
SQL1 : select 'a' + null + 'b'
SQL2 : select 'a' + '' + 'b'
> 결과
SQL1 <- null
SQL2 <- 'ab'
- 문자열 계산식에서 값에 null이 있기 때문에 결과는 null이 된다.
ORACLE에서의 예
SQL1 : select 'a' + null + 'b' from dual;
SQL2 : select 'a' + '' + 'b' from dual;
> 결과
SQL1 <- 'ab'
SQL2 <- 'ab'
- ORACLE에서는 null의 문자열계산은 null을''로 치환한 결과가 된다.