๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • ์žฅ์›์ต ๊ธฐ์ˆ ๋ธ”๋กœ๊ทธ
๐Ÿ”ฌapplication/- Database

[SQL๋ฌธ ๊ธฐ์ดˆ] SQL-SELCET ๋ฌธ์˜ ์‚ฌ์šฉ๋ฒ• ๋ฐ ์˜ˆ์ œ (4) [SQL ๋‚ด์žฅ ํ•จ์ˆ˜(๋ฌธ์ž์—ด ํ•จ์ˆ˜)]

by Wonit 2020. 4. 15.

์ง€๋‚œ ์‹œ๊ฐ„์— ํ•™์Šตํ•œ ๋‚ด์šฉ์— ์ถ”๊ฐ€์ ์œผ๋กœ SELECT ๋ฌธ์˜ ์‚ฌ์šฉ์„ ์‚ดํŽด๋ณด์ž.

SELECT์˜ ๊ธฐ๋ณธ ๋ฌธ๋ฒ•์— ๋Œ€ํ•œ ์ดํ•ด๊ฐ€ ์ „์ œ ๋˜์–ด์•ผ ํ•ด๋‹น ๊ฒŒ์‹œ๊ธ€์„ ์ดํ•ดํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น ๋งํฌ์— ๊ฐ€์…”์„œ ํ•™์Šต์„ ํ•˜์‹œ๊ณ  ์˜ค์‹œ๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.

SQL ํ•จ์ˆ˜

SQL ํ•จ์ˆ˜๋Š”

  1. ์นผ๋Ÿผ์˜ ๊ฐ’์ด๋‚˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒฝ์šฐ
  2. ์ˆซ์ž ๋˜๋Š” ๋‚ ์งœ ๋ฐ ๋ฌธ์ž์—ด ๋ฐ์ดํ„ฐ ์ถœ๋ ฅ ํ˜•์‹์œผ๋กœ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒฝ์šฐ
  3. ํ•˜๋‚˜ ์ด์ƒ์˜ ํ–‰์— ๋Œ€ํ•œ ์ง‘๊ณ„๋ฅผ ์›ํ•˜๋Š” ๊ฒฝ์šฐ

๋กœ ๋‚˜๋ˆ„์–ด์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ ๊ทธ ์ค‘์— ์šฐ๋ฆฌ๋Š” ์ˆซ์ž ํ•จ์ˆ˜์— ๋Œ€ํ•ด์„œ ํ•™์Šตํ•ด๋ณด์ž.

ํ…Œ์ด๋ธ”์€ ์ง€๋‚œ ์‹œ๊ฐ„์— ์‚ฌ์šฉํ–ˆ๋˜ emp ํ…Œ์ด๋ธ” ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

ํ•จ์ˆ˜ ์‚ฌ์šฉ ํ˜•์‹

ํ•จ์ˆ˜๋Š” sql ์ฟผ๋ฆฌ๋ฅผ ๋ณด๋‚ด๋Š” ๊ณณ์—์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ˜•์‹์œผ๋กœ ์ž‘์„ฑํ•œ๋‹ค.

function_name ( column | expression, {arg1, arg2, ...})
  • function_name : ๋‹จ์ผ ํ–‰ ํ•จ์ˆ˜ ์ด๋ฆ„
  • column : ์นผ๋Ÿผ ์ด๋ฆ„
  • expression : ๋ฌธ์ž์—ด ๋˜๋Š” ํ‘œํ˜„์‹
  • arg1, arg2... : ํ•จ์ˆ˜์˜ ์ธ์ˆ˜

ํ•จ์ˆ˜ ์‚ฌ์šฉ์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ์กฐ๊ธˆ ์‚ฌ์šฉํ•ด ๋ณด์•˜๋‹ค๋ฉด ์‰ฝ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ์ˆ˜์ค€์ด๋‹ค.

๋ฌธ์ž์—ด ํ•จ์ˆ˜

๋ฌธ์ž์—ด ํ•จ์ˆ˜๋Š” ๋ฌธ์ž์—ด์„ ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์„ ์กฐ์ž‘ํ•˜์—ฌ ์ถœ๋ ฅ์‹œํ‚ฌ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

INITCAP ํ•จ์ˆ˜

์ธ์ˆ˜๋กœ ์ž…๋ ฅ๋˜๋Š” ์นผ๋Ÿผ์ด๋‚˜ ํ‘œํ˜„์‹์˜ ๋ฌธ์ž์—ด ์—์„œ ์ฒซ ๋ฒˆ์งธ ์˜๋ฌธ์ž๋ฅผ ๋Œ€๋ฌธ์ž๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜

LOWER, UPPER ํ•จ์ˆ˜

CONCAT ํ•จ์ˆ˜

๋‘ ๋ฌธ์ž์—ด์„ ๊ฒฐํ•จ ||์™€ ๋™์ผ
CONCAT('sql', 'plus') -> sqlplus

SUBSTR

ํŠน์ • ๋ฌธ์ž์—ด ๋˜๋Š” ์ผ๋ถ€๋ฅผ ์ถ”์ถœ

SUBSTR(expression | column, m[,n])

๋ฌธ์ž์—ด์—์„œ m๋ฒˆ์งธ ๋ฌธ์ž๋ถ€ํ„ฐ n๊ฐœ์˜ ๋ฌธ์ž ์ถ”์ถœ
m์ด ์Œ์ˆ˜๋ฉด ์‹œ์ž‘์œ„์น˜๋Š” ๋ฌธ์ž์—ด์˜ ๋งˆ์ง€๋ง‰

SUBSTR('SQU*plus, 5, 4) -> plus

INSTR

ํŠน์ • ๋ฌธ์ž๊ฐ€ ์ถœํ˜„ํ•˜๋Š” ์ฒซ ๋ฒˆ์งธ ์œ„์น˜๋ฅผ ๋ฐ˜ํ™˜
INSTR('sql*plus', '*') -> 4

LPAD

์˜ค๋ฅธ์ชฝ ์ •๋ ฌ ํ›„ ์™ผ์ชฝ์œผ๋กœ ์ง€์ • ๋ฌธ์ž๋ฅผ ์‚ฝ์ž…
LPAD('sql' 5, '*') -> **sql

RPAD

์™ผ์ชฝ ์ •๋ ฌ ํ›„ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์ง€์ • ๋ฌธ์ž๋ฅผ ์‚ฝ์ž…
RPAD('sql', 5, '*') -> sql**

LTRIM

์™ผ์ชฝ ์ง€์ • ๋ฌธ์ž๋ฅผ ์‚ญ์ œ
LTRIM('*sql', '*') -> sql

RTRIM

์˜ค๋ฅธ์ชฝ ์ง€์ • ๋ฌธ์ž๋ฅผ ์‚ญ์ œ
RTRIM('sql*', '*') -> sql

๋Œ“๊ธ€