[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] Lv2. ์ค‘์„ฑํ™” ์—ฌ๋ถ€ ํŒŒ์•…ํ•˜๊ธฐ [String, Date]

2022. 9. 26. 09:06ใ†์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค_2022

728x90

 

๋ฌธ์ œ ์„ค๋ช…

ANIMAL_INS ํ…Œ์ด๋ธ”์€ ๋™๋ฌผ ๋ณดํ˜ธ์†Œ์— ๋“ค์–ด์˜จ ๋™๋ฌผ์˜ ์ •๋ณด๋ฅผ ๋‹ด์€ ํ…Œ์ด๋ธ”์ž…๋‹ˆ๋‹ค. ANIMAL_INS ํ…Œ์ด๋ธ” ๊ตฌ์กฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์œผ๋ฉฐ, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE๋Š” ๊ฐ๊ฐ ๋™๋ฌผ์˜ ์•„์ด๋””, ์ƒ๋ฌผ ์ข…, ๋ณดํ˜ธ ์‹œ์ž‘์ผ, ๋ณดํ˜ธ ์‹œ์ž‘ ์‹œ ์ƒํƒœ, ์ด๋ฆ„, ์„ฑ๋ณ„ ๋ฐ ์ค‘์„ฑํ™” ์—ฌ๋ถ€๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

 

NAME                                                                                  TYPE                                                       NULLABLE
ANIMAL_ID VARCHAR(N) FALSE
ANIMAL_TYPE VARCHAR(N) FALSE
DATETIME DATETIME FALSE
INTAKE_CONDITION VARCHAR(N) FALSE
NAME VARCHAR(N) TRUE
SEX_UPON_INTAKE VARCHAR(N) FALSE

๋ณดํ˜ธ์†Œ์˜ ๋™๋ฌผ์ด ์ค‘์„ฑํ™”๋˜์—ˆ๋Š”์ง€ ์•„๋‹Œ์ง€ ํŒŒ์•…ํ•˜๋ ค ํ•ฉ๋‹ˆ๋‹ค. ์ค‘์„ฑํ™”๋œ ๋™๋ฌผ์€ SEX_UPON_INTAKE ์ปฌ๋Ÿผ์— 'Neutered' ๋˜๋Š” 'Spayed'๋ผ๋Š” ๋‹จ์–ด๊ฐ€ ๋“ค์–ด์žˆ์Šต๋‹ˆ๋‹ค. ๋™๋ฌผ์˜ ์•„์ด๋””์™€ ์ด๋ฆ„, ์ค‘์„ฑํ™” ์—ฌ๋ถ€๋ฅผ ์•„์ด๋”” ์ˆœ์œผ๋กœ ์กฐํšŒํ•˜๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ์ด๋•Œ ์ค‘์„ฑํ™”๊ฐ€ ๋˜์–ด์žˆ๋‹ค๋ฉด 'O', ์•„๋‹ˆ๋ผ๋ฉด 'X'๋ผ๊ณ  ํ‘œ์‹œํ•ด์ฃผ์„ธ์š”.

 

์˜ˆ์‹œ

์˜ˆ๋ฅผ ๋“ค์–ด ANIMAL_INS ํ…Œ์ด๋ธ”์ด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค๋ฉด

ANIMAL_ID        ANIMAL_TYPE        DATETIME                    INTAKE_CONDITION   NAME    SEX_UPON_INTAKE
A355753 Dog 2015-09-10 13:14:00 Normal Elijah Neutered Male
A373219 Cat 2014-07-29 11:43:00 Normal Ella Spayed Female
A382192 Dog 2015-03-13 13:14:00 Normal Maxwell 2 Intact Male
  • ์ค‘์„ฑํ™”ํ•œ ๋™๋ฌผ: Elijah, Ella
  • ์ค‘์„ฑํ™”ํ•˜์ง€ ์•Š์€ ๋™๋ฌผ: Maxwell 2

๋”ฐ๋ผ์„œ SQL๋ฌธ์„ ์‹คํ–‰ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋‚˜์™€์•ผ ํ•ฉ๋‹ˆ๋‹ค.

 

ANIMAL_ID                                                            NAME                                                                          ์ค‘์„ฑํ™”
A355753 Elijah O
A373219 Ella O
A382192 Maxwell 2 X

โ€ป ์ปฌ๋Ÿผ ์ด๋ฆ„์€ ์ผ์น˜ํ•˜์ง€ ์•Š์•„๋„ ๋ฉ๋‹ˆ๋‹ค.

 

๋‚˜์˜ ํ’€์ด [MySQL] 

SELECT ANIMAL_ID, NAME,
 CASE WHEN SEX_UPON_INTAKE LIKE '%Neutered%' THEN 'O'
     WHEN SEX_UPON_INTAKE LIKE '%Spayed%' THEN 'O'
     ELSE 'X' END 
 FROM ANIMAL_INS ORDER BY ANIMAL_ID;

์™€ CASE WHEN ๋‹ค ํ–ˆ๋Š”๋ฐ ๋„๋Œ€์ฒด ์–ด๋””์„œ ์—๋Ÿฌ๊ฐ€ ๋‚˜๋Š”์ง€ ๊ณ„์† ์•ˆ๋ผ์„œ ์™œ ์•ˆ๋˜๋‚˜ ํ™•์ธํ•ด๋ณด๋‹ˆ..ใ…Žใ…Ž 

, ์‰ผํ‘œ ์•ˆํ•ด์„œ ์—๋Ÿฌ๋‚˜๋Š”๊ฑฐ์˜€๋‹คใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…Žใ…Žใ…Žใ…Žใ…Ž ํ•˜ํ•˜ใ… !

๋งค๋ฒˆ ์–ป๋Š” ๊ตํ›ˆ์ด์ง€๋งŒ ์ฝ”๋“œ๋ฅผ ๋‹ค์‹œ ํ™•์ธ์„ ์ž˜ ํ•ด๋ณด์ž..

 

CASE ์กฐ๊ฑด์‹์€ ์ด๋Ÿฐ์‹์œผ๋กœ ์‚ฌ์šฉํ•˜๊ณ  ๋งˆ์ง€๋ง‰์— END๋กœ ๋๋‚ด๋ฉด ๋œ๋‹ค. !!

CASE  when ์กฐ๊ฑด1  then ๊ฒฐ๊ณผ๊ฐ’1
         when ์กฐ๊ฑด2  then ๊ฒฐ๊ณผ๊ฐ’2
         when ์กฐ๊ฑด3  then ๊ฒฐ๊ณผ๊ฐ’3
         when ์กฐ๊ฑด4  then ๊ฒฐ๊ณผ๊ฐ’4
         else ๊ฒฐ๊ณผ๊ฐ’5
END

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90