테스트 사이트 - 개발 중인 베타 버전입니다

CASE WHEN ~ (MySQL 의 IF문 역활)

· 12년 전 · 8946 · 4
MySQL 을 사용하다 보면 IF 문과 같은 처리가 필요한 때가 있다.

IF 라는 문도 있는거 같지만 이게 더 IF 문 같은 역활을 하는 것 같다.

기본적인 형태는 이렇다.

SELECT
CASE WHEN <비교대상> = <비교값> THEN <조건 일치 시..처리내용>
WHEN <두번째 비교대상> = <비교값> THEN <조건처리내용>
ELSE <조건에 해당하지 않을때 처리값> END TEST // TEST 라는 컬럼 이름으로 생성됨
FROM TEST_TABLEWHERE 1=1

위와 같이 쓸수도 있고.

CASE <비교대상> WHEN <비교값> TEHN <.. 처리문>
WHEN <비교값2> THEN <.. 처리문2>
ELSE <..처리문3> END TEST

이렇게도 사용이 가능하다.

생각보다 쓸 때가 많은데 .. 쓸때마다 까먹는 CASE WHEN...

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 4개

CASE <비교대상>
WHEN <비교대상 값> THEN '값'
WHEN <비교대상 값> THEN '값'
WHEN <비교대상 값> THEN '값'
WHEN <비교대상 값> THEN '값'
END
스위치문처럼도 쓸수있죠 ㅎㅎ
반드시 END가 있어야함 ㅋㅋ
오잉..?END 있는데요;;ㅋㅋ
아뇨 ㅋㅋ 이렇게 쓸수 있다구 한거에요 ㅎㅎㅎ
올려주신 자료는 훌륭하십니다^^
ㅎㅎ그렇군요...감사합니다.

게시글 목록

번호 제목
5638
27321
5637
31931
31925
18979
5633
27316
27307
18976
5631
18974
31919
30803
31911
5625
5623
5620
27298
31904
31887
31884
18967
5616
5611
18963
5608
31881
5601
31866
31862
5599
5595
5592
24497
18958
31859
31855
18952
18946
18942
18939
18936
18933
5590
5586
18924
18915
18913
18908
27293
5583
5580
18895
18886
18880
5576
31840
30792
18869
18866
18862
18858
5569
5565
27287
18857
18855
18854
18847
18843
18841
18840
31825
18839
18835
18833
18832
18822
18820
5561
31806
18815
31830
18809
18807
18806
18803
18801
18800
18796
5559
18793
18791
5554
31780
31790
31758
24491
27284