이를 위해 select case 문을 사용할 수 있습니다. 구문은 다음과 같습니다.
select yourColumnName1,yourColumnName2,...N, case when yourColumnName=1 then 'true' else 'false' end as anyVariableName from yourTableName;
위의 구문을 이해하기 위해 테이블을 생성해 보겠습니다. 테이블 생성 쿼리는 다음과 같습니다.
mysql> create table selectReturnDemo -> ( -> Id int, -> Name varchar(100), -> isGreaterthan18 tinyint(1) -> ); Query OK, 0 rows affected (0.62 sec)
이제 insert 명령을 사용하여 테이블에 일부 레코드를 삽입할 수 있습니다. 쿼리는 다음과 같습니다.
mysql> insert into selectReturnDemo values(1,'Carol',0); Query OK, 1 row affected (0.23 sec) mysql> insert into selectReturnDemo values(2,'Bob',1); Query OK, 1 row affected (0.21 sec) mysql> insert into selectReturnDemo values(3,'Mike',1); Query OK, 1 row affected (0.18 sec) mysql> insert into selectReturnDemo values(4,'David',0); Query OK, 1 row affected (0.21 sec) mysql> insert into selectReturnDemo values(5,'Adam',1); Query OK, 1 row affected (0.10 sec)
select 문을 사용하여 테이블의 모든 레코드를 표시합니다. 쿼리는 다음과 같습니다.
mysql> select *from selectReturnDemo;
다음은 출력입니다.
+------+-------+-----------------+ | Id | Name | isGreaterthan18 | +------+-------+-----------------+ | 1 | Carol | 0 | | 2 | Bob | 1 | | 3 | Mike | 1 | | 4 | David | 0 | | 5 | Adam | 1 | +------+-------+-----------------+ 5 rows in set (0.00 sec)
다음은 값을 선택 반환으로 바꾸는 쿼리입니다. 쿼리는 다음과 같습니다.
mysql> select Id,Name, -> case when isGreaterthan18=1 then 'true' -> else 'false' -> end as AgeIsGreaterthan18 -> from selectReturnDemo;
다음은 출력입니다.
+------+-------+--------------------+ | Id | Name | AgeIsGreaterthan18 | +------+-------+--------------------+ | 1 | Carol | false | | 2 | Bob | true | | 3 | Mike | true | | 4 | David | false | | 5 | Adam | true | +------+-------+--------------------+ 5 rows in set (0.00 sec)