๐Ÿ’ป

Oracle DBMS ๋ฐ SQL - ํ•จ์ˆ˜(์ˆซ์žํ•จ์ˆ˜, ๋‚ ์งœํ•จ์ˆ˜, ๋ณ€ํ™˜ํ•จ์ˆ˜) ๋ณธ๋ฌธ

KITRI/ORACLE

Oracle DBMS ๋ฐ SQL - ํ•จ์ˆ˜(์ˆซ์žํ•จ์ˆ˜, ๋‚ ์งœํ•จ์ˆ˜, ๋ณ€ํ™˜ํ•จ์ˆ˜)

๋˜ํšจ๋‹ˆ 2020. 4. 8. 16:45

--์˜ค๋ผํด ํ•จ์ˆ˜ : https://docs.oracle.com/cd/E11882_01/server.112/e41084/toc.htm 

ํ•จ์ˆ˜(Function) 
        - ์ธ์ˆ˜๋ฅผ ์ „๋‹ฌ๋ฐ›์•„ ์ฒ˜๋ฆฌํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•ด ์ฃผ๋Š” ํ”„๋กœ๊ทธ๋žจ ๋ชจ๋“ˆ 
        - ์ˆซ์žํ•จ์ˆ˜, ๋ฌธ์žํ•จ์ˆ˜, ๋‚ ์งœํ•จ์ˆ˜, ์ผ๋ฐ˜ํ•จ์ˆ˜, ๋ณ€ํ™˜ํ•จ์ˆ˜ 
 


--1. ์ˆซ์ž ํ•จ์ˆ˜

--1-1) ROUND(๊ฐ’, ์ž๋ฆฌ์ˆ˜) ํ•จ์ˆ˜ : ๋ฐ˜์˜ฌ๋ฆผ

 

--1-2) TRUNC(๊ฐ’, ์ž๋ฆฌ์ˆ˜) : ๋ฒ„๋ฆผ

 

--1-3) CEIL(๊ฐ’) / FLOOR(๊ฐ’) : ์†Œ์ˆ˜ ์ดํ•˜ ๋ฌด์กฐ๊ฑด ์˜ฌ๋ฆผ, ๋ฒ„๋ฆผ

 

--1-4) MOD(์ˆซ์ž, ์ˆซ์ž) : ์ฃผ์–ด์ง„ ์ˆซ์ž๋ฅผ ์ง€์ •๋œ ์ˆซ์ž๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ ๋ฐ˜ํ™˜

 

์ž๋ฃŒํ˜•

INT CHAR -> ๊ณ ์ •๊ธธ์ด

NUMBER VARCHAR -> ๊ฐ€๋ณ€๊ธธ์ด

 

 

 

--2. ๋ฌธ์žํ•จ์ˆ˜

--2-1) UPPER(๋ฌธ์ž ๋˜๋Š” ๋ฌธ์ž์—ด) ๋Œ€๋ฌธ์ž๋กœ ๋ณ€ํ™˜

--2-2) LOWER(๋ฌธ์ž ๋˜๋Š” ๋ฌธ์ž์—ด) ์†Œ๋ฌธ์ž๋กœ ๋ณ€ํ™˜

 

--2-3) INITCAP(๋ฌธ์ž ๋˜๋Š” ๋ฌธ์ž์—ด) ์ฒซ ๊ธ€์ž๋งŒ ๋Œ€๋ฌธ์ž๋กœ ๋ณ€ํ™˜

 

--2-4) LENGTH(๋ฌธ์ž ๋˜๋Š” ๋ฌธ์ž์—ด) : ๋ฌธ์ž์—ด์˜ ๊ธธ์ด(๊ฐฏ์ˆ˜)๋ฅผ ๋ณ€ํ™˜

 

--2-5) CONCAT(๋ฌธ์ž, ๋ฌธ์ž) : ๋ฌธ์ž๋ฅผ ์—ฐ๊ฒฐ

 

|| ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋ฌธ์ž๋ฅผ ์—ฐ๊ฒฐํ•ด๋„ ๋˜๊ณ , CONCAT ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด๋„ ๋œ๋‹ค.


--2-6) INSTR(๋ฌธ์ž์—ด, ์ฐพ๋Š”๋ฌธ์ž, ์‹œ์ž‘์œ„์น˜, ๋ช‡๋ฒˆ์งธ) : ํŠน์ •๋ฌธ์ž์˜ ์œ„์น˜(๋ฐ˜ํ™˜ ์ˆซ์ž)

์‹œ์ž‘์œ„์น˜์— ๋”ฐ๋ผ ๋ช‡๋ฒˆ์งธ์— ํ•ด๋‹นํ•˜๋Š” ๊ฐ’์ด ๋‹ฌ๋ผ์ง„๋‹ค. 

์ฐพ๋Š” ๋ฌธ์ž์—ด์ด ์—†์œผ๋ฉด 0

 

 

--2-7) SUBSTR(๋ฌธ์ž์—ด, ์‹œ์ž‘์œ„์น˜, ๋ฌธ์ž๊ฐœ์ˆ˜) : ํŠน์ • ๋ฌธ์ž(๋ฌธ์ž์—ด) ์ถ”์ถœ

 

--2-8) LPAD(๋ฌธ์ž์—ด, ์ž๋ฆฌ์ˆ˜, ์ฑ„์šธ๋ฌธ์ž์—ด) : ์˜ค๋ฅธ์ชฝ ์ •๋ ฌ ํ›„ ์™ผ์ชฝ์— ์ƒ๊ธด ๋นˆ ๊ณต๋ฐฑ์— ํŠน์ • ๋ฌธ์ž๋ฅผ ์ฑ„์šด๋‹ค.

 

--2-9) RPAD(๋ฌธ์ž์—ด, ์ž๋ฆฌ์ˆ˜, ์ฑ„์šธ๋ฌธ์ž์—ด) : ์™ผ์ชฝ ์ •๋ ฌ ํ›„ ์˜ค๋ฅธ์ชฝ์— ์ƒ๊ธด ๋นˆ ๊ณต๋ฐฑ์— ํŠน์ • ๋ฌธ์ž๋ฅผ ์ฑ„์šด๋‹ค.

--2-10) LTRIM(๋ฌธ์ž์—ด, ์ œ๊ฑฐํ•  ๋ฌธ์ž) / ์™ผ์ชฝ์— ํŠน์ •๋ฌธ์ž ์‚ญ์ œ


--2-11) RTRIM(๋ฌธ์ž์—ด, ์ œ๊ฑฐํ•  ๋ฌธ์ž) / ์˜ค๋ฅธ์ชฝ์— ํŠน์ •๋ฌธ์ž ์‚ญ์ œ

 

LTRIM RTRIM -> ๊ณต๋ฐฑ์ œ๊ฑฐ์— ์ž์ฃผ ์“ฐ์ธ๋‹ค. 


--2-12) TRIM(์ œ๊ฑฐํ•  ๋ฌธ์ž FROM ๋ฌธ์ž์—ด) / ํŠน์ •๋ฌธ์ž ์‚ญ์ œ

--์™ผ์ชฝ, ์˜ค๋ฅธ์ชฝ ์–‘์ชฝ ๊ณต๋ฐฑ ๋‹ค ์ œ๊ฑฐ ํ•œ๋‹ค. 

--2-13) REPLACE(๋ฌธ์ž์—ด, ๊ธฐ์กด๋ฌธ์ž, ๊ต์ฒด๋ฌธ์ž) /  ๋ฌธ์ž์—ด์—์„œ ํŠน์ •๋ฌธ์ž๋ฅผ ํŠน์ •๋ฌธ์ž๋กœ ์น˜ํ™˜ํ•œ๋‹ค.

 

 

--3. ๋‚ ์งœํ•จ์ˆ˜

--3-1) SYSDATE : ์‹œ์Šคํ…œ์— ์ง€์ •๋œ ํ˜„์žฌ ๋‚ ์งœ / ์‹œ๊ฐ„(SYSTIMESTAMP)


--3-2) ๋‚ ์งœ์—ฐ์‚ฐ : ์‚ฌ์น™์—ฐ์‚ฐ

 

--3-3) MONTHS_BETWEEN(๋‚ ์งœ, ๋‚ ์งœ) / ๋‚ ์งœ์™€ ๋‚ ์งœ ์‚ฌ์ด์˜ ๊ฐœ์›” ์ˆ˜๋ฅผ ๊ณ„์‚ฐ

 

--3-4) ADD_MONTHS(๋‚ ์งœ, ์ˆซ์ž) / ์ฃผ์–ด์ง„ ๋‚ ์งœ์— ์ˆซ์ž๋งŒํผ ๋”ํ•œ ๋‹ฌ

 

--3-5) LAST_DAY(๋‚ ์งœ) / ์ฃผ์–ด์ง„ ๋‚ ์งœ๊ฐ€ ์†ํ•œ ๋‹ฌ์˜ ๊ฐ€์žฅ ๋งˆ์ง€๋ง‰ ๋‚  ๊ฒ€์ƒ‰

 

--3-6) NEXT_DAY() / ์ฃผ์–ด์ง„ ๋‚ ์งœ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋Œ์•„์˜ค๋Š” ๊ฐ€์žฅ ์ตœ๊ทผ ์š”์ผ์˜ ๋‚ ์งœ
--ํ•œ๊ธ€(์ผ, ์›”, ~~) / ์˜๋ฌธ(SUN, MON, ~~) / ์ˆซ์ž(์ผ์š”์ผ 1, ์›”์š”์ผ 2 ~~~)

 

 

 

 

--๋ณ€ํ™˜ํ•จ์ˆ˜

https://docs.oracle.com/cd/E11882_01/server.112/e41084/sql_elements004.htm#SQLRF00210

 

Format Models

The total length of a datetime format model cannot exceed 22 characters. The default datetime formats are specified either explicitly with the NLS session parameters NLS_DATE_FORMAT, NLS_TIMESTAMP_FORMAT, and NLS_TIMESTAMP_TZ_FORMAT, or implicitly with the

docs.oracle.com

 

--1) TO_CHAR(๋‚ ์งœ, ๋‚ ์งœํ˜•์‹) : ๋‚ ์งœํ˜•์ด ๋ฌธ์žํ˜•์œผ๋กœ ๋ณ€ํ™˜

 

 

 

 

--2) TO_CHAR(์ˆซ์ž, ์ˆซ์žํ˜•์‹) : ์ˆซ์žํ˜•์ด ๋ฌธ์žํ˜•์œผ๋กœ ๋ณ€ํ™˜

 

--4-3) TO_NUMBER(๋ฌธ์ž์—ด) : ๋ฌธ์ž๋ฅผ ์ˆซ์ž๋กœ ๋ณ€ํ™˜ 

 

--4-4) TO_DATE(๋ฌธ์ž์—ด) :  ๋ฌธ์ž์—ด ๋‚ ์งœ๋กœ ๋ณ€ํ™˜

๋ฐ˜์‘ํ˜•
Comments