๋ด์ฅํจ์
๋ด์ฅํจ์๋ 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 |
๋๊ธ