Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL CHAR() 함수에 NULL을 인수로 전달하면 어떻게 될까?

MySQL CHAR() 함수와 NULL 처리

MySQL의 CHAR() 함수는 정수 값(ASCII 코드)을 해당하는 문자로 변환해 주는 함수입니다. 그런데 만약 이 함수의 인수 중 하나로 NULL이 전달되면 어떻게 될까요?

결론부터 말하면, CHAR() 함수는 NULL을 인수로 받아도 오류를 발생시키지 않고 단순히 무시합니다. 나머지 유효한 숫자 인수들만 문자로 변환하여 결과를 반환합니다.

예제 1: 마지막 인수가 NULL인 경우

mysql> Select CHAR(65,66,67,NULL);
+---------------------+
| CHAR(65,66,67,NULL) |
+---------------------+
| ABC                 |
+---------------------+
1 row in set (0.00 sec)

위 예제에서 65, 66, 67은 각각 'A', 'B', 'C'로 변환되었고, 마지막에 위치한 NULL은 아무 영향 없이 무시된 것을 확인할 수 있습니다.

예제 2: 첫 번째와 마지막 인수가 NULL인 경우

mysql> Select CHAR(NULL,66,67,NULL);
+-----------------------+
| CHAR(NULL,66,67,NULL) |
+-----------------------+
| BC                    |
+-----------------------+
1 row in set (0.00 sec)

이번에는 NULL이 첫 번째 인수와 마지막 인수에 모두 포함되어 있습니다. 그럼에도 불구하고 함수는 NULL을 건너뛰고 유효한 숫자 값인 66과 67만 'B'와 'C'로 변환했습니다.

정리

이처럼 MySQL의 CHAR() 함수는 NULL 값을 특별한 처리 없이 조용히 건너뛰며, 숫자 형태의 인수만을 대상으로 문자 변환을 수행합니다. 따라서 쿼리 작성 시 동적으로 생성된 인수 목록에 NULL이 섞여 있더라도 별도의 예외 처리 없이 안전하게 사용할 수 있다는 점이 유용합니다.