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

MySQL에서 부울(Boolean) 값을 양수 또는 음수로 변환하는 방법

MySQL에서는 IF() 함수를 활용하면 부울(Boolean) 값을 손쉽게 양수(1) 또는 음수(-1)로 변환할 수 있습니다. 조건이 참(true)이면 1을 반환하고, 거짓(false)이면 -1을 반환하도록 처리하는 방식입니다.

기본 문법

다음은 부울 값을 양수 또는 음수로 변환하는 기본 문법입니다.

select if(yourColumnName,1,-1) from yourTableName;

예제 테이블 생성하기

먼저 실습에 사용할 테이블을 생성해 보겠습니다.

mysql> create table DemoTable
(
   isMarried boolean
);
Query OK, 0 rows affected (0.60 sec)

데이터 삽입하기

INSERT 명령을 사용하여 테이블에 레코드를 몇 개 삽입합니다.

mysql> insert into DemoTable values(true);
Query OK, 1 row affected (0.21 sec)
mysql> insert into DemoTable values(false);
Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable values(false);
Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable values(true);
Query OK, 1 row affected (0.36 sec)

저장된 데이터 확인하기

SELECT 문을 사용하여 테이블의 모든 레코드를 조회합니다.

mysql> select *from DemoTable;

위 쿼리를 실행하면 다음과 같은 결과가 출력됩니다.

+-----------+
| isMarried |
+-----------+
|         1 |
|         0 |
|         0 |
|         1 |
+-----------+
4 rows in set (0.00 sec)

부울 값을 양수/음수로 변환하는 쿼리

이제 MySQL에서 부울 값을 양수 또는 음수로 변환하는 쿼리를 살펴보겠습니다. 아래 예제에서는 부울 값이 false, 즉 0일 경우 -1(음수)로 변환되도록 설정했습니다.

mysql> select if(isMarried,1,-1) from DemoTable;

실행 결과는 다음과 같습니다.

+--------------------+
| if(isMarried,1,-1) |
+--------------------+
|                  1 |
|                 -1 |
|                 -1 |
|                  1 |
+--------------------+
4 rows in set (0.00 sec)

출력 결과를 보면 true(1)였던 값은 그대로 1로, false(0)였던 값은 -1로 변환된 것을 확인할 수 있습니다. 이처럼 IF() 함수 하나만으로 부울 데이터를 원하는 숫자 형식으로 간편하게 변환할 수 있습니다.