MySQL에서 데이터 공백을 시각적으로 확인하기
MySQL 명령줄 클라이언트에서 SELECT 문으로 데이터를 조회하면 문자열 앞뒤의 공백이나 빈 값이 눈으로 구분되지 않아 혼란스러울 수 있습니다. 이런 경우 quote() 함수를 사용하면 데이터가 정확히 어떻게 저장되어 있는지 쉽게 확인할 수 있습니다.
기본 문법
quote() 함수는 문자열을 작은따옴표로 감싸서 출력해 주므로, 공백이나 빈 문자열을 명확하게 구별할 수 있습니다. 기본 문법은 다음과 같습니다.
SELECT yourColumnName, quote(yourColumnName) FROM yourTableName;
실습용 테이블 생성
개념을 이해하기 위해 간단한 테이블을 먼저 생성해 보겠습니다.
mysql> CREATE TABLE seeSpacesDemo
-> (
-> spaceValue VARCHAR(10)
-> );
Query OK, 0 rows affected (0.42 sec)샘플 데이터 삽입
INSERT 명령을 사용하여 빈 문자열과 다양한 길이의 공백 값을 저장합니다.
mysql> INSERT INTO seeSpacesDemo VALUES("");
Query OK, 1 row affected (0.70 sec)
mysql> INSERT INTO seeSpacesDemo VALUES(" ");
Query OK, 1 row affected (0.45 sec)
mysql> INSERT INTO seeSpacesDemo VALUES(" ");
Query OK, 1 row affected (0.21 sec)
mysql> INSERT INTO seeSpacesDemo VALUES(" ");
Query OK, 1 row affected (0.16 sec)일반 SELECT 조회 결과
먼저 일반적인 SELECT 문으로 전체 레코드를 조회해 보겠습니다.
mysql> SELECT * FROM seeSpacesDemo;
실행 결과는 다음과 같습니다.
+------------+ | spaceValue | +------------+ | | | | | | | | +------------+ 4 rows in set (0.00 sec)
출력 결과만 보면 네 개의 행이 모두 비어 있는 것처럼 보입니다. 실제로는 빈 문자열 하나와 공백 세 개가 저장되어 있지만, 일반 SELECT 문으로는 이를 구분할 수 없습니다.
quote() 함수로 공백 확인하기
이제 quote() 함수를 적용하여 데이터를 조회해 보겠습니다.
mysql> SELECT spaceValue, quote(spaceValue) FROM seeSpacesDemo;
실행 결과는 다음과 같습니다.
+------------+-------------------+ | spaceValue | quote(spaceValue) | +------------+-------------------+ | | '' | | | ' ' | | | ' ' | | | ' ' | +------------+-------------------+ 4 rows in set (0.00 sec)
결과 해석
quote() 함수를 적용하면 각 행의 실제 내용이 명확하게 드러납니다.
- 첫 번째 행: 작은따옴표 사이에 아무것도 없으므로 빈 문자열('')
- 두 번째 행: 공백 1개(' ')
- 세 번째 행: 공백 2개(' ')
- 네 번째 행: 공백 3개(' ')
이처럼 quote() 함수를 활용하면 MySQL 명령줄 클라이언트에서 육안으로 구분하기 어려운 공백과 빈 문자열을 손쉽게 확인할 수 있습니다. 데이터 정제나 TRIM 처리 전후 검증 작업에도 유용하게 활용할 수 있습니다.