[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

    ๋Œ“๊ธ€