부울은 항상 true 또는 false라는 두 가지 가능한 값을 반환하는 가장 간단한 데이터 유형입니다. 항상 YES 또는 No 값의 형태로 확인을 받는 데 사용할 수 있습니다.
MySQL에는 내장된 Boolean 또는 Bool 데이터 유형이 포함되어 있지 않습니다. 그들은 제공합니다 TINYINT Boolean 또는 Bool 데이터 유형 대신 데이터 유형. MySQL 값 0을 거짓으로 간주하고 0이 아닌 값을 참으로 간주합니다. 부울 리터럴을 사용하려면 항상 0과 1 값으로 평가되는 true 또는 false를 사용하십시오. 0과 1은 정수 값을 나타냅니다.
부울 리터럴의 정수 값을 보려면 다음 명령문을 실행하십시오.
Mysql> Select TRUE, FALSE, true, false, True, False;
성공적으로 실행되면 다음과 같은 결과가 나타납니다.
MySQL 부울 예제
MySQL 테이블에 부울 값을 정수 데이터 유형으로 저장할 수 있습니다. MySQL에서 부울 데이터 유형의 사용을 보여주는 테이블 학생을 만들어 보겠습니다.
mysql> CREATE TABLE student ( studentid INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(40) NOT NULL, age VARCHAR(3), pass BOOLEAN );
위의 쿼리에서는 테이블 정의를 표시할 때 pass 필드가 Boolean으로 정의되어 있음을 알 수 있습니다. 여기에는 다음과 같은 TINIINT가 포함됩니다.
오라클 테이블 생성
mysql> DESCRIBE student;
다음 쿼리를 사용하여 위 테이블에 두 개의 새로운 행을 추가해 보겠습니다.
mysql> INSERT INTO student(name, pass) VALUES('Peter',true), ('John',false);
위 쿼리가 실행되면 즉시 MySQL은 테이블에서 부울 데이터 유형을 확인합니다. 부울 리터럴이 발견되면 정수 값 0과 1로 변환됩니다. 다음 쿼리를 실행하여 학생 테이블에서 데이터를 가져옵니다.
Mysql> SELECT studentid, name, pass FROM student;
true 및 false 리터럴이 0과 1 값으로 변환되는 다음 출력을 얻게 됩니다.
MySQL은 항상 TINYINT를 부울로 사용하므로 부울 열에 정수 값을 삽입할 수도 있습니다. 다음 문을 실행합니다.
Mysql> INSERT INTO student(name, pass) VALUES('Miller',2);
다음과 같은 결과를 얻게 됩니다:
어떤 경우에는 true 및 false 리터럴로 결과를 얻어야 합니다. 이 경우 다음과 같이 select 문과 함께 if() 함수를 실행해야 합니다.
Mysql> SELECT studentid, name, IF(pass, 'true', 'false') completed FROM student1;
다음과 같은 출력이 제공됩니다.
MySQL 부울 연산자
MySQL을 사용하면 부울 데이터 유형의 연산자를 사용할 수도 있습니다. 다음 쿼리를 실행하여 테이블 학생의 모든 합격 결과를 가져옵니다.
SELECT studentid, name, pass FROM student1 WHERE pass = TRUE;
이 문은 다음 출력을 반환합니다.
위의 문은 값이 1인 경우에만 통과 결과를 반환합니다. 다음을 사용하여 문제를 해결할 수 있습니다. 이다 운영자. 이 연산자는 부울 값으로 값의 유효성을 검사합니다. 다음 명령문은 이를 설명합니다.
SELECT studentid, name, pass FROM student1 WHERE pass is TRUE;
이 명령문을 실행하면 다음과 같은 결과를 얻게 됩니다.
보류 중인 결과를 보려면 다음을 사용하세요. 거짓이다 또는 사실이 아니다 아래와 같은 연산자:
SELECT studentid, name, pass FROM student1 WHERE pass IS FALSE; OR, SELECT studentid, name, pass FROM student1 WHERE pass IS NOT TRUE;
다음과 같은 결과가 출력됩니다.