다음과 같이 [관람평]의 한줄평(가변 길이 문자형)에 값을 입력한 뒤 … | [SQLD] SQL 개발자 기출유형 모의고사 9회 상세 페이지
1[SQLD] SQL 개발자 기출유형 모의고사 9회
다음과 같이 [관람평]의 한줄평(가변 길이 문자형)에 값을 입력한 뒤SELECT COUNT(*) FROM 관람평 WHERE 한줄평 IS NULL;을 실행했다. Oracle 과 SQL Server 의 결과를 차례대로 나타낸 것은?[관람평]
| 관람평번호 | 입력한 한줄평 값 |
|---|---|
| 1 | '재밌음' |
| 2 | '' (빈 문자열) |
| 3 | NULL |
| 4 | ' ' (공백 1칸) |
1
2, 2
2
3, 1
3
2, 1
4
1, 1
해설
Oracle 은 빈 문자열을 NULL 로 저장하므로 관람평번호 2·3 이 IS NULL 에 해당해 2이고, SQL Server 는 빈 문자열을 길이 0 문자열로 따로 저장해 3만 세어 1이다.
공백 1칸은 길이 1인 문자 값이므로 두 DBMS 모두 NULL 이 아니다.
- Oracle 에서 빈 문자열이 NULL 로 바뀌는 점을 놓치면 1로 본다.
- 공백 1칸까지 NULL 로 보면 Oracle 이 3이 되지만 공백은 값이다.
- SQL Server 는 빈 문자열을 NULL 로 바꾸지 않아 2가 아니다.
오류나 개정된 내용이 보이면 알려주세요