Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

CASE를 사용하여 MySQL Select 문에서 값을 1에서 Y로 변경하시겠습니까?

<시간/>

MySQL의 CASE를 사용하여 값을 1에서 Y로 변경할 수 있습니다. 먼저 테이블을 생성하겠습니다. 테이블 생성 쿼리는 다음과 같습니다.

mysql> create table changeValuefrom1toY -> ( -> Id int NOT NULL AUTO_INCREMENT, -> isValidAddress tinyint(1), -> PRIMARY KEY(Id) -> );쿼리 OK, 영향을 받는 행 0개(0.76초) 

이제 insert 명령을 사용하여 테이블에 일부 레코드를 삽입할 수 있습니다. 쿼리는 다음과 같습니다.

mysql> insert into changeValuefrom1toY(isValidAddress) values(1);Query OK, 1개의 row가 영향(0.22초)mysql> insert into changeValuefrom1toY(isValidAddress) values(0),Query OK, 1개의 row가 영향(0.16초)mysql> insert into changeValuefrom1toY(isValidAddress) values(1);Query OK, 1개의 row가 영향을 받습니다(0.19초)mysql> insert into changeValuefrom1toY(isValidAddress) values(1);Query OK, 1개의 row가 영향을 받습니다(0.15초)mysql> changeValuefrom1toY에 삽입 (isValidAddress) values(1);쿼리 OK, 1행 영향(0.16초)mysql> changeValuefrom1toY(isValidAddress) values(0)에 삽입 (1);쿼리 OK, 영향을 받는 행 1개(0.49초)

select 문을 사용하여 테이블의 모든 레코드를 표시합니다. 쿼리는 다음과 같습니다.

mysql> select *from changeValuefrom1toY;

다음은 출력입니다.

+----+----------------+| 아이디 | isValidAddress |+----+----------------+| 1 | 1 || 2 | 0 || 3 | 1 || 4 | 1 || 5 | 1 || 6 | 0 || 7 | 1 |+----+----------------+7행 세트(0.00초)

다음은 CASE와 함께 작동하는 쿼리입니다.

mysql> select *,case -> when isValidAddress=1 THEN 'Y' -> ELSE isValidAddress -> END AS Answer -> from changeValuefrom1toY;

다음은 출력입니다.

+----+----------------+--------+| 아이디 | 유효주소 | 답변 |+----+----------------+--------+| 1 | 1 | 와 || 2 | 0 | 0 || 3 | 1 | 와 || 4 | 1 | 와 || 5 | 1 | 와 || 6 | 0 | 0 || 7 | 1 | Y |+----+----------------+--------+7행 세트(0.00초)