[๋จ์ผํ ํจ์]
ํ๋ฒ์ ํ๋์ฉ ์ฒ๋ฆฌํ๋ ํจ์
[๋ฌธ์ํจ์]
INITCAP : ์ฒซ๊ธ์๋ง ๋๋ฌธ์๋ก ๋ณํ
LOWER : ์ ๋ถ ์๋ฌธ์๋ก ๋ณํ
UPPER : ์ ๋ถ ๋๋ฌธ์๋ก ๋ณํ
LENGTH : ๋ฌธ์์ด ๊ธธ์ด ์ถ๋ ฅ
LENGTHB : ๋ฌธ์์ด ๊ธธ์ด์ ๋ฐ์ดํธ๊ฐ ์ถ๋ ฅ
CONCAT ('๋ฌธ์์ด1','๋ฌธ์์ด2') : ๋ฌธ์์ด ๊ฒฐํฉ ์ถ๋ ฅ (|| ์ฐ์ฐ์์ ๋์ผ)
โ*SUBSTR ('๋ฌธ์์ด' or ์ปฌ๋ผ๋ช , ์์์์น, ์ถ์ถํ ์๋ฆฟ์) : ํน์ ๋ฌธ์๋ง ์ถ์ถ
๋ง์ด๋์ค ๋ถ์ด๋ฉด ์ค๋ฅธ์ชฝ -> ์ผ์ชฝ ๊ฒ์ ํ ์ผ์ชฝ -> ์ค๋ฅธ์ชฝ์ผ๋ก ๊ธ์ ์ ์ธ์ด๋
SUBSTRB ('๋ฌธ์์ด' or ์ปฌ๋ผ๋ช , ์์์์น, ์ถ์ถํ ๋ฐ์ดํธ์) : ํน์ ๋ฐ์ดํธ๋ง ์ถ์ถ
INSTR( '๋ฌธ์์ด' or ์ปฌ๋ผ๋ช , ์ฐพ๋๊ธ์,์์์์น,๋ช๋ฒ์งธ์ธ์ง(๊ธฐ๋ณธ๊ฐ1)) : ํน์ ๋ฌธ์์ ์์น ์ถ์ถ
์์์์น, ์ฐพ์ผ๋ ค๋์์น๊ฐ ์๋ต ๊ฐ๋ฅ (์๋ 1)
INSTRB : ํน์ ๋ฌธ์ ์์น์ ๋ฐ์ดํธ ๊ฐ ์ถ์ถ
LPAD ( '๋ฌธ์์ด' or ์ปฌ๋ผ๋ช
,์๋ฆฟ์, '์ฑ์ธ๋ฌธ์') : ์ผ์ชฝ์ผ๋ก ํน์ ๋ฌธ์๋ฅผ ์ฑ์
RPAD : ์ค๋ฅธ์ชฝ์ผ๋ก ํน์ ๋ฌธ์๋ฅผ ์ฑ์
LTRIM ('๋ฌธ์์ด' or ์ปฌ๋ผ๋ช
,'์ ๊ฑฐํ ๋ฌธ์') : ์ผ์ชฝ์ ํน์ ๋ฌธ์ ์ญ์
RTRIM : ์ค๋ฅธ์ชฝ์ ํน์ ๋ฌธ์ ์ญ์
โ* REPLACE ('๋ฌธ์์ด' or ์ปฌ๋ผ๋ช ,'๋ฌธ์1', '๋ฌธ์2') : A ๋ฅผ B ๋ก ์นํ
REGEXP_REPLACE : ํน์ ํจํด์ ์ฐพ์ ์นํ
REGEXP_INSTR : ํน์ ํจํด์ ์์์์น๋ฅผ ๋ฐํ
REGEXP_SUBSTR : ํน์ ํจํด์ ์ฐพ์ ๋ฐํ
REGEXP_LIKE : ํน์ ํจํด์ ์ฐพ์ ๋ฐํ
REGEXP_COUNT : ํน์ ํจํด ํ์๋ฅผ ๋ฐํ
[์ซ์ ๊ด๋ จ ํจ์]
ROUND(์ซ์,์ถ๋ ฅ์ ์ํ๋ ์๋ฆฟ์) : ๋ฐ์ฌ๋ฆผ
TRUNC (์ซ์, ์ํ๋ ์๋ฆฟ์) : ์ซ์ ๋ฒ๋ฆผ
MOD : ๋๋จธ์ง ๊ฐ
CEIL : ๊ฐ์ฅ ๊ทผ์ ํ ํฐ ์ ์
FLOOR : ๊ฐ์ฅ ๊ทผ์ ํ ์์ ์ ์
POWER(์ซ์1,์ซ์2) : 1์ ์ซ์ 2์น
[๋ ์ง ๊ด๋ จ ํจ์]
๋ ์ง + ์ซ์ = ๋ ์ง
๋ ์ง - ์ซ์ = ๋ ์ง
๋ ์ง - ๋ ์ง = ์ซ์
SYSDATE : ์์คํ
์ ํ์ฌ ๋ ์ง์ ์๊ฐ
MONTHS_BETWEEN : ๋ ๋ ์ง ์ฌ์ด์ ๊ฐ์์ (๊ฒฐ๊ณผ ์ซ์)
ADD_MONTHS : ์ฃผ์ด์ง ๋ ์ง์ ๊ฐ์์ ๋ํจ
NEXT_DAY(sysdate,'์') : ์ฃผ์ด์ง ๋ ์ง๋ฅผ ๊ธฐ์ค์ผ๋ก ๋์์ค๋ ๋ ์ง
LAST_DAY : ์ฃผ์ด์ง ๋ ์ง๊ฐ ์ํ ๋ฌ์ ๋ง์ง๋ง ๋ ์ง
ROUND : ๋ ์ง ๋ฐ์ฌ๋ฆผ
๋ฎ 12:00 ๊ธฐ์ค , ์คํ ์ธ ๊ฒฝ์ฐ ์ฌ๋ฆผ
TRUNC : ๋ ์ง ๋ฒ๋ฆผ
๋ฌด์กฐ๊ฑด ๋น์ผ ์ฒ๋ฆฌ
[ํ๋ณํํจ์]
CHAR : ๊ณ ์ ๊ธธ์ด ๋ฌธ์
VARCHAR2 : ๋ณํ๋ ๊ธธ์ด ๋ฌธ์
NUMBER : ์ซ์
DATE : 7๋ฐ์ดํธ
LONG : ๊ฐ๋ณ๊ธธ์ด ๋ฌธ์ 2GB
CLOB : ๊ฐ๋ณ๊ธธ์ด ๋ฌธ์ 4GB
BLO : ๊ฐ๋ณ๊ธธ์ด ๋ฐ์ด๋๋ฆฌ 4GB
RAW : ์์ ์ด์ง ๋ฐ์ดํฐ 2000๋ฐ์ดํธ
LONG RAW : ์์ ์ด์ง ๋ฐ์ดํฐ 2GB
BFILE : ์ธ๋ถ ํ์ผ์ ์ ์ฅ๋ ๋ฐ์ดํฐ 4GB
[์๋ํ๋ณํ (๋ฌต์์ ํ๋ณํ)]
์๋์ผ๋ก ๋ฐ๊ฟ์ฃผ๋ ํ๋ณํ
์๋๊ฐ ๋๋ ค์ง ์ ์์!!
[์๋ํ๋ณํ (๋ช ์์ ํ๋ณํ)]
[ ์ซ์ <-> ๋ฌธ์ <-> ๋ ์ง ]
โ*TO_CHAR(์๋๋ ์ง,'์ํ๋๋ชจ์')
์ซ์๋ฅผ ๋ฌธ์๋ก, ๋ ์ง๋ฅผ ๋ฌธ์๋ก
- YYYY ์ฐ๋ 4์๋ฆฌ ํ๊ธฐ
- RRRR ์ฐ๋ 4์๋ฆฌ ํ๊ธฐ (Y2K ๋ฒ๊ทธ๋ก ํ์๋)
- YY ์ฐ๋ ๋์ 2์๋ฆฌ๋ง
- RR ์ฐ๋๋ฅผ ๋ง์ง๋ง 2์๋ฆฌ
- YEAR ์ฐ๋์ ์๋ฌธ ์ด๋ฆ ์ ์ฒด
- MM ์์ ์ซ์ 2์๋ฆฌ๋ก
- MON ์์ ๋ปํ๋ ์์ด
- MONTH ์์ ๋ปํ๋ ์ด๋ฆ ์ ์ฒด
- DD ์ผ์ ์ซ์ 2์๋ฆฌ๋ก
- DAY ์์ผ
- DDTH ๋ช๋ฒ์งธ ๋
- HH24 ํ๋ฃจ 24์๊ฐ
- HH ํ๋ฃจ12์๊ฐ
- MI ๋ถ
- SS ์ด
- 9 : 9์ ๊ฐ์๋งํผ ์๋ฆฌ์
- 0 : ๋น์๋ฆฌ๋ฅผ 0์ผ๋ก ์ฑ์
- $ : $ ํ์ ๋ถ์ฌ์ ํ์
- . : ์์์ ์ดํ๋ฅผ ํ์
- , : ์ฒ๋จ์ ๊ตฌ๋ถ ๊ธฐํธ ํ์
โ*TO_NUMBER()
๋ฌธ์๋ฅผ ์ซ์๋ก ๋ณํ
ASCII() : ์ผ๋ฐ ๋ฌธ์๋ฅผ ๋ณํํ ๋
โ*TO_DATE()
๋ ์ง์ฒ๋ผ ์๊ธด ๋ฌธ์๋ฅผ ๋ ์ง๋ก ๋ณํ
[์ผ๋ฐํจ์]
NVL (์ปฌ๋ผ, ์นํํ ๊ฐ) : ๋์ ๋ง๋๋ฉด ๋ค๋ฅธ ๊ฐ์ผ๋ก ์นํ
NVL2 (COL1,COL2,COL3) : ๋ ๊ฐ์ธ ๊ฒฝ์ฐ, ์๋๊ฒฝ์ฐ ๊ตฌ๋ถํด์ ์นํ
โ* DECODE () : IF ๋ฌธ์ SQL ์์ผ๋ก ๊ฐ์ ธ์จ ํจ์
DECODE (A,B,'1',NULL) -- ๋ง์ง๋ง NULL ์๋ต ok
DECODE (A,B,'1','2')
DECODE (A,B,'1',C,'2','3')
A๊ฐ B๋ฉด 1 C๋ฉด 2 ๋๋ค ์๋๋ฉด 3
DECODE (A,B,DECODE(C,D,'1',NULL))
A ๊ฐ B์ผ๋, C ๋ฉด '1' , D๋ฉด NULL ์ถ๋ ฅ
DECODE (A,B,DECODE(C,D,'1','2'))
A๊ฐ B์ผ๋, C๊ฐ D๋ฉด 1 ์๋๋ฉด 2
DECODE (A,B,DECODE(C,D,'1','2'),'3)
A๊ฐ B์ผ๋, C๊ฐ D๋ฉด 1, ์๋๋ฉด 2, B๊ฐ ์๋๋ฉด 3
โ* CASE (์กฐ๊ฑด) THEN WHEN ELSE END : = ๋ฌธ์ ์ฒ๋ฆฌํ ๋ ์ฌ์ฉ
ํํ์ ๋ด๋ถ์ ์ฝค๋ง๊ฐ ์ฌ์ฉ๋์ง ์๋๋ค
= ์กฐ๊ฑด ์ธ ๊ฒฝ์ฐ
CASE() WHEN '02' THEN 'SELOUL'
WHEN THEN
ELSE
END "LOC"
!= ์กฐ๊ฑด ์ธ ๊ฒฝ์ฐ
--between ์ ์ด์ฉํด์ ๋ฒ์ ์ง์ ํด์ ์ฌ์ฉ!
CASE() WHEN JIMIN BETWEEN '01' AND '03' THEN 'SELOUL'
WHEN ~~~ THEN ~~~~
ELSE ~~~
END ~~
โ* [ ์ ๊ท์ Regular Expression ]
ํธ๋ฆฌํ๊ณ ๊ฐ๋ ฅํ ๊ฒ์์ ๊ฐ๋ฅํ๊ฒ ํด์ฃผ๋ ์ ๊ท์ !
^ (์บ๋ฟ) : ํด๋น ๋ฌธ์๋ก ์์ํ๋ line ์ถ๋ ฅ
$ (๋ฌ๋ฌ) : ํด๋น ๋ฌธ์๋ก ๋๋๋ line ์ถ๋ ฅ
. : (. -> 1 character) 'S....E' S๋ก ์์ํ์ฌ E ๋ก ๋๋๋ line
* : ๋ชจ๋ ์ด๋ผ๋ ๋ป, ๊ธ์์๊ฐ 0[] : ํด๋น ๋ฌธ์์ ํด๋นํ๋ ํ ๋ฌธ์
[^] : ํด๋น ๋ฌธ์์ ํด๋นํ์ง ์๋ ํ ๋ฌธ์
[:๋ฌธ์ํด๋์ค:] ํํ๋ก ์ฌ์ฉ!
{} : ์๋ฌธ์๊ฐ ๋ํ๋๋ ํ์,๋ฒ์
์บก์ฒ ๊ทธ๋ฃน(capture groups): ์ฆ, ์ ๊ท ํํ์์์ ๊ดํธ ()๋ก ๋ฌถ์ ๋ถ๋ถ์ ํด๋นํ๋ ๋งค์นญ๋ ํ ์คํธ (=์นํ)
?: ๋นํ์์ (Non-greedy) ์๋์๋ฅผ ์๋ฏธํฉ๋๋ค. ๊ฐ๋ฅํ ํ ์ ๊ฒ ๋ฐ๋ณตํ๋ ค๊ณ ํฉ๋๋ค. ๋ง์นจํ(.)๊ฐ 0๋ฒ ๋๋ 1๋ฒ ๋์ฌ ์ ์์์ ์๋ฏธ
/ ... /: ์ฌ๋์ /๋ ์ ๊ท ํํ์์ ์์๊ณผ ๋์ ๋ํ๋ ๋๋ค.
REGEXP_LIKE ํจ์ : ํน์ ํจํด๊ณผ๋งค์นญ๋๋ ๊ฒฐ๊ณผ ๊ฒ์
'[a-z]'
'[A-Z]'
'[a-zA-Z]'
'[a-z] '
'[a-z] [0-9]'
'[[:space:]]'
'[A-Z]{2}'
'[A-Z]{3}'
'[A-Z]{4}'
'[[:upper:]]' -- ๋๋ฌธ์ ์ ๋ถ
'^[A-Za-z]' -- ์ฒซ ์์ ๋ฌธ์ ์ง์
'^[a-z]^[0-9]' -- ์๋ฌธ์๋ ์ซ์๋ก ์์ํ๋
'^M(a|o)' -- ์กฐ๊ฑด ์ฐ๊ฒฐ ๊ฐ๋ฅ |
'[a-z]$'
'^[[:alpha:]]$' -- ์๋ฌธ์๋ก ๋๋๋ ํ
'^[^a-z]' -- ๋๊ดํธ ๋ฌธ์๊ฐ ์๋ ๋ค๋ฅธ ๊ฒ
'^[^09a-z]' -- ์์์ด ์๋ฌธ์๋ ์ซ์๋ ์๋ ํ
WHERE NOT REGEXP_LIKE(,'[a-z]') -- ์๋ฌธ์๊ฐ ๋ค์ด์๋ ๋ชจ๋ ํ ์ ๊ฑฐ NOT
'[0-9]{2}\)[0-9]{4}' --๊ตญ๋ฒ
'...r.' -- 4๋ฒ์งธ ์๋ฆฌ ์๋ฌธ์ ์๋ ํ
'^[10]{2}\.[10]{2}\.[10]{2}' --[10] 1,0 ์ค ํ๋
'!'
'\?'
'\*' --๋ฉํ๋ฌธ์ escape ๋ฌธ์
REGEXP_REPLACE ํจ์ : ํน์ ๋ฌธ์๋ก ๋ณ๊ฒฝ
'[[:digit:]]','*' -- ์ซ์๋ถ๋ถ ๋ณ๊ฒฝ
'[0-9]','\1-*' -- ์ซ์๋ค์ -*์ถ๊ฐ
'\.','' -- . ์ง์ฐ๊ธฐ
'\.','\',1,1 -- ์ฒซ๋ฒ์งธ๋ง \๋ก ๋ณ๊ฒฝ
'( ){1,}','' -- ๊ณต๋ฐฑ ์ด 2์นธ ์ด์์ธ ๊ฒ ์ฐพ๊ธฐ
'&id',( ){1,}','' -- ๋ชจ๋ ๊ณต๋ฐฑ์ฃผ์
LOWER(Regexp_replace('&id',( ){1,}','') -- ์๋ฌธ์๋ก๋ ๋ณ๊ฒฝ
'([[:digit:]]{4})([[:digit:]]{2})([[:digit:]]{2})','\1-\2-\3'
--๋ฐ์ดํฐ๋ฅผ 2012-03-23 ์ผ๋ก ๋ณ๊ฒฝ
REGEXP_SUBSTR ํจ์
'[^ ]+[DEF]' -- ๊ณต๋ฐฑ์ด ์๋๊ณ DEF์ธ ๋ถ๋ถ ์ถ์ถ
'/([[:alnum:]]+\.?){3,4}?'),'/') -- ํํ์ด์ง http ์ ๊ฑฐ
'[^:]+',1,3 -- : ๊ธฐ์ค์ผ๋ก 3๋ฒ์งธ ๋ฌธ์์ด ์ถ๋ ฅ
substr ํ์ฅํ
REGEXP_COUNT ํจ์
regexp_count(์ปฌ๋ผ,์ฐพ์๋ฌธ์,(๊ฒ์์์น์ง์ ))
regexp_count(text,'.') -- . : ๋ชจ๋ ๊ฒ
regexp_count(text,'\.') -- . ์ ํ๋