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

MySQL에 BOOLEAN 타입이 없어도 TRUE/FALSE 값을 표현하는 방법

MySQL에서 불리언 값 다루기

MySQL에는 독립적인 BOOLEAN 데이터 타입이 존재하지 않습니다. 그러나 TRUE 또는 true, FALSE 또는 false 키워드를 사용하면 SQL 문장에서 불리언(Boolean) 값을 손쉽게 입력할 수 있습니다.

내부적으로 MySQL은 TRUE를 1로, FALSE를 0으로 처리합니다. 즉, 불리언 값은 사실상 정수 형태로 저장되고 반환됩니다.

예제

mysql> Select TRUE,FALSE;
+------+-------+
| TRUE | FALSE |
+------+-------+
|    1 |     0 |
+------+-------+
1 row in set (0.00 sec)

mysql> Select true,false;
+------+-------+
| TRUE | FALSE |
+------+-------+
|    1 |     0 |
+------+-------+
1 row in set (0.00 sec)

위 실행 결과에서 확인할 수 있듯이, 대소문자 구분 없이 TRUE/FALSE 키워드를 사용해도 동일하게 각각 1과 0의 값이 반환됩니다.

참고: BOOLEAN과 TINYINT의 관계

테이블을 정의할 때 BOOL 또는 BOOLEAN을 컬럼 타입으로 지정할 수 있지만, 이는 실제로 TINYINT(1)의 별칭(alias)입니다. 따라서 0이 아닌 모든 값은 참(TRUE)으로, 0은 거짓(FALSE)으로 간주됩니다. 불리언 조건을 명확하게 표현하고 싶다면 이러한 키워드를 활용하는 것이 코드 가독성 면에서 유용합니다.