etc..

COALESCE : null ๊ฐ’์— ๋””ํดํŠธ ์ •ํ•ด์ฃผ๊ธฐ

  • table์—์„œ ๊ฐ’์„ ๋ถˆ๋Ÿฌ์˜ฌ ๋•Œ, NULL ์— ๋””ํดํŠธ ๊ฐ’์„ ๋„ฃ์–ด์„œ ๋นผ์˜ฌ ์ˆ˜ ์žˆ์Œ

  • NULL์„ ๋ฌธ์ž์—ด ๊ฒฐํ•ฉ์‹œ NULL๋กœ ๋˜๊ณ  ์‚ฌ์น™์—ฐ์‚ฐํ•˜๋ฉด NULL์ด ๋˜๊ธฐ ๋–„๋ฌธ์—, ์ด๋Ÿฐ ๊ฒƒ์„ ๋ฐฉ์ง€ํ•˜๊ณ ์ž ๋””ํดํŠธ ๊ฐ’์„ ์„ค์ •ํ•จ

  • COALESCE(๊ฐ’ or ์นผ๋Ÿผ, ๋””ํดํŠธ ๊ฐ’) : ๊ฐ’์ด NULL์ด๋ฉด ๋””ํดํŠธ ๊ฐ’์œผ๋กœ ๊ฐ€์ ธ์˜ด

  • ์˜ˆ์‹œ

    SELECT
        amount - coupon AS discount_amount1
        amount - COALESCE(coupon, 0) AS discount_amount2
    FROM
    • coupon์— NULL ์ธ row ๊ฐ€ ์žˆ์„ ๊ฒฝ์šฐ, discount_amount1 ๋Š” NULL ๋กœ ๋‚˜์˜ค๊ณ , discount_amount2 ๋Š” amount

์นผ๋Ÿผ๋ณ„ ๊ฐ’(์ˆซ์ž) ๋น„๊ต

SIGN : ๊ฐ’์˜ ์–‘์ˆ˜, ์Œ์ˆ˜, 0์„ ํŒ๋‹จํ•จ

  • ์˜ˆ์‹œ

    SELECT SIGN(q2 - q1) AS sign_q2_q1
    FROM tb_quarterly_sales
    • tb_quarterly_sales์—์„œ q2-q1 ํ•œ ๊ฒฐ๊ณผ๊ฐ€ ์–‘์ˆ˜๋ฉด 1, ์Œ์ˆ˜๋ฉด -1, 0์ด๋ฉด 0์œผ๋กœ ์ถœ๋ ฅ๋จ

GREATEST, LEAST : ์นผ๋Ÿผ ์ค‘ ๊ฐ€์žฅ ํฐ/์ž‘์€ ๊ฐ’

  • ํ•œ row์˜ ์ปฌ๋Ÿผ ์ค‘์—์„œ ๊ฐ€์žฅ ํฐ ๊ฐ’ ๋˜๋Š” ์ž‘์€ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•จ

  • ์˜ˆ์‹œ

0์œผ๋กœ ๋‚˜๋ˆ„๋Š” ๊ฒƒ ํ”ผํ•˜๊ธฐ

  • ๊ด‘๊ณ ๋ฅผ ๋ณธ ์‚ฌ๋žŒ ์ค‘ ํด๋ฆญํ•œ ํšŸ์ˆ˜ ๋น„์œจ ๊ตฌํ•˜๊ธฐ(clicks / impressions)

CASE, WHEN ํ™œ์šฉ

NULLIF ํ™œ์šฉ

  • NULLIF(column, num) : column์˜ ๊ฐ’์ด NULL์ด๋ฉด num์œผ๋กœ ๋Œ€์‹ ํ•จ

Last updated