[ORACLE] ๋‚ด์žฅํ•จ์ˆ˜

๋‚ด์žฅํ•จ์ˆ˜

๋”๋ณด๊ธฐ

๋‚ด์žฅํ•จ์ˆ˜๋ž€ CREATE FUNCTION ๊ธฐ๋Šฅ์„ ํ†ตํ•ด ๋งŒ๋“  ํ•จ์ˆ˜๊ฐ€ ์•„๋‹Œ  ORACLE์—์„œ ์ž์ฒด์ ์œผ๋กœ ์ œ๊ณตํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ๋งํ•œ๋‹ค.

์ƒํ™ฉ์— ๋”ฐ๋ผ ํ•˜๋‚˜๋Š” ๋‹จ์ผํ–‰ ํ•จ์ˆ˜(๋ฌธ์ž ํ•จ์ˆ˜) ๋‹ค๋ฅธ ํ•˜๋‚˜๋Š” ๊ทธ๋ฃนํ•จ์ˆ˜๋กœ ํฌ๊ฒŒ ๋ถ„๋ฅ˜ํ•  ์ˆ˜ ์žˆ๋‹ค. 

๋‚ด์žฅํ•จ์ˆ˜ ์ข…๋ฅ˜ 

1. ๊ทธ๋ฃนํ•จ์ˆ˜

- COUNT : ๋ฐ์ดํ„ฐ ๊ฐฏ์ˆ˜ ์กฐํšŒ 

EX) SELECT COUNT(*) FROM BOOK;

- SUM : ๋ฐ์ดํ„ฐ ํ•ฉ๊ณ„๊ฐ’ ๊ตฌํ•˜๊ธฐ 

EX) SELECT SUM(PRICE) FROM BOOK;

- AVG : ๋ฐ์ดํ„ฐ ํ‰๊ท ๊ฐ’ ๊ตฌํ•˜๊ธฐ 

EX) SELECT AVG(PRICE) FROM BOOK;

- MAX : ๋ฐ์ดํ„ฐ ์ตœ๋Œ€๊ฐ’ ๊ตฌํ•˜๊ธฐ 

EX) SELECT MAX(PRICE) FROM BOOK;

- MIN : ๋ฐ์ดํ„ฐ ์ตœ์†Œ๊ฐ’ ๊ตฌํ•˜๊ธฐ 

EX) SELECT MIN(PRICE) FROM BOOK;

2. ๋ฌธ์ž์—ด 

- UPPER : ๋Œ€๋ฌธ์ž๋กœ ๋ณ€๊ฒฝ

- LOWER : ์†Œ๋ฌธ์ž๋กœ ๋ณ€๊ฒฝ

- INITCAP : ์ฒซ ๊ธ€์ž๋งŒ ๋Œ€๋ฌธ์ž๋กœ, ๋‚˜๋จธ์ง€๋Š” ์†Œ๋ฌธ์ž๋กœ ๋ณ€๊ฒฝ 

- LENGTH : ๋ฌธ์ž์—ด์˜ ๊ธธ์ด(๋ฌธ์ž๋‹จ์œ„)

- LENGTHB : ๋ฌธ์ž์—ด์˜ ๊ธธ์ด(BYTE ๋‹จ์œ„)

- SUBSTR : ๋ฌธ์ž์—ด ์ผ๋ถ€ ์ถ”์ถœ -> ์ž‘์„ฑ : SUBSTR(๋Œ€์ƒ, ์‹œ์ž‘์œ„์น˜, ๊ธธ์ด) 
(์‹œ์ž‘์œ„์น˜ : 1๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋ฉฐ, ์˜ค๋ฅธ์ชฝ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š” ๊ฒฝ์šฐ์— ์‚ฌ์šฉ)

- INSTR : ๋Œ€์ƒ ๋ฌธ์ž์—ด์— ์ฐพ๋Š” ๋ฌธ์ž ์œ„์น˜๊ฐ’์„ ๋ฆฌํ„ดํ•œ๋‹ค. 

    -> ์ž‘์„ฑ (๋Œ€์ƒ, ์ฐพ๋Š” ๋ฌธ์ž)

    -> ์ž‘์„ฑ (๋Œ€์ƒ, ์ฐพ๋Š”๋ฌธ์ž, ์‹œ์ž‘์œ„์น˜)

    -> ์ž‘์„ฑ (๋Œ€์ƒ, ์ฐพ๋Š”๋ฌธ์ž, ์‹œ์ž‘์œ„์น˜, nth)

- TRIM : ์–‘์ชฝ ๊ณต๋ฐฑ ์ œ๊ฑฐ 

- LTRIM : ์™ผ์ชฝ์— ์žˆ๋Š” ๊ณต๋ฐฑ ์ œ๊ฑฐ 

- RTRIM : ์˜ค๋ฅธ์ชฝ์— ์žˆ๋Š” ๊ณต๋ฐฑ ์ œ๊ฑฐ 

- CONCAT : ๋ฌธ์ž์—ด ๋ถ™์ด๊ธฐ

- LPAD : ์™ผ์ชฝ์— ์‚ฝ์ž… (PADDING) 

   -> ์ž‘์„ฑ (๋Œ€์ƒ๋ฌธ์ž์—ด, ์ „์ฒด ๊ธ€์ž์ˆ˜, ์‚ฝ์ž…๋  ๋ฌธ์ž)

- RPAD : ์˜ค๋ฅธ์ชฝ์— ์‚ฝ์ž… (PADDING)

    -> ์ž‘์„ฑ (๋Œ€์ƒ๋ฌธ์ž์—ด, ์ „์ฒด๊ธ€์ž์ˆ˜, ์‚ฝ์ž…๋  ๋ฌธ์ž)

- REPLACE : ๋ฌธ์ž์—ด์—์„œ ์ฐพ์€ ๋ฌธ์ž๋ฅผ ๋ณ€๊ฒฝ

3. ์ˆซ์ž

- ABS : ์ ˆ๋Œ€๊ฐ’

- FLOOR : ์†Œ์ˆ˜์  ์•„๋ž˜ ๋ฒ„๋ฆผ

- CEIL : ์†Œ์ˆ˜์  ์•„๋ž˜ ์˜ฌ๋ฆผ

- ROUND : ๋ฐ˜์˜ฌ๋ฆผ = ์†Œ์ˆ˜์  ์ดํ•˜ ๋ฐ˜์˜ฌ๋ฆผ 

   ROUND (์ˆซ์ž, ์ž๋ฆฌ์ˆ˜) : ์ž๋ฆฌ์ˆ˜ ์ดํ•˜ ๋ฐ˜์˜ฌ๋ฆผ

- TRUNC : ์ •์ˆ˜๋งŒ ๋‚จ๊ธฐ๊ณ  ์†Œ์ˆ˜๋ถ€๋ฅผ ๋ฒ„๋ฆฐ๋‹ค 

   TRUNC (์ˆซ์ž, ์ž๋ฆฌ์ˆ˜) : ์ •์†Œ ์ดํ•˜ ์ž๋ฆฌ์ˆ˜๊นŒ์ง€๋งŒ ์œ ์ง€

- MOD : ๋‚˜๋จธ์ง€ ๊ณ„์‚ฐ

- SIGN ; ๋ถ€ํ˜ธ๊ฐ’ ๋ฐ˜ํ™˜ 

  ( ์–‘์ˆ˜ : 1 , ์˜: 0, ์Œ์ˆ˜ : -1)

- POWER : ์ˆซ์ž์˜ N์ œ๊ณฑ ๊ฐ’ ๊ณ„์‚ฐ 

EX) POWER(2,3) => 8 

4. ๋‚ ์งœ

- ADD_MONTHS ( ๋‚ ์งœ, ๊ฐœ์›” ์ˆ˜) : ๊ฐœ์›” ์ˆ˜ ๋งŒํผ ์›”์ด ์ฆ๊ฐ€ ๋˜๋Š” ๊ฐ์†Œ

- LAST_DAY (๋‚ ์งœ) : ๋‚ ์งœ๊ฐ€ ์†ํ•œ ๋‹ฌ์˜ ๋งˆ์ง€๋ง‰ ๋‚ ์งœ ๊ตฌํ•˜๊ธฐ

- NEXT_DAY (๋‚ ์งœ, ์š”์ผ) : ์š”์ผ ๋‚ ์งœ ๊ตฌํ•˜๊ธฐ, ๋‚ ์งœ ๋‹ค์Œ์— ์˜ค๋Š” ์ฒซ๋ฒˆ์งธ ์š”์ผ ๋‚ ์งœ ๊ตฌํ•˜๊ธฐ

- MONTHS_BETWEEN (๋‚ ์งœ1, ๋‚ ์งœ2) : ๊ธฐ๊ฐ„ ๊ตฌํ•˜๊ธฐ (๊ฐœ์›”) ์—ฐ์‚ฐ๋ฐฉ์‹

๐Ÿ’ก - 1 : 1์ผ -> 24์‹œ๊ฐ„, 1์‹œ๊ฐ„ : 1์ผ / 24์‹œ๊ฐ„ --> 1์‹œ๊ฐ„ -- 1์‹œ๊ฐ„ : 60๋ถ„ ---> 1์‹œ๊ฐ„ / 60๋ถ„ ---> 1๋ถ„ :::: 1 / 24 / 60 --> 1๋ถ„ -- 1๋ถ„ : 60์ดˆ ---> 1๋ถ„ / 60์ดˆ -> 1์ดˆ :::: 1 / 24 / 60 / 60 --> 1์ดˆ
๐Ÿ’ก -1์ผ : 86400์ดˆ, 1440๋ถ„ SELECT 160 AS "1๋ถ„(์ดˆ)", 6060 AS "1์‹œ๊ฐ„(์ดˆ)", 246060 AS "1์ผ(์ดˆ)", 2460 AS "1์ผ(๋ถ„)" FROM DUAL; SELECT 160 AS "ONE MIN" FROM DUAL; SELECT 1*60 AS ONE FROM DUAL;

5. ํ˜•๋ณ€ํ™˜

- TO_CHAR : ๋ฌธ์ž ํƒ€์ž…์œผ๋กœ ์ „ํ™˜ (๋‚ ์งœ -> ๋ฌธ์ž, ์ˆซ์ž -> ๋ฌธ์ž)

- TO_NUMBER : ์ˆซ์ž ํƒ€์ž…์œผ๋กœ ์ „ํ™˜ (๋ฌธ์ž -> ์ˆซ์ž)

- TO_DATE : ๋‚ ์งœ ํƒ€์ž…์œผ๋กœ ์ „ํ™˜ (๋ฌธ์ž -> ๋‚ ์งœ)

*** ์ˆซ์ž <-> ๋‚ ์งœ ๋ณ€ํ™˜์€ ๋ถˆ๊ฐ€*** 

 ๐Ÿ’ก ์ž‘์„ฑ ํŒ
EX) TO_ CHAR :
TO_CHAR(SYSDATE, โ€˜YYYY-MM-DDโ€™) โ‡’ ํ™œ์šฉ ์ถœ๋ ฅ ์‹œ โ€˜2023-08-10โ€™ ํ˜•ํƒœ๋กœ ์ถœ๋ ฅ ๊ฐ€๋Šฅ

 

 

'๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ’ป Developer > DataBase' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[DB] ERD  (0) 2023.12.17
[Oracle] TABLE  (0) 2023.12.14
[Oracle] Sql Developer / DataBase ๊ธฐ์ดˆ ๋‹ค์ง€๊ธฐ  (0) 2023.12.13

๋Œ“๊ธ€