λ¨μΌ ν ν¨μ
- ν λΉ νλμ κ²°κ³Όλ₯Ό λ°ν
- SELECT, WHERE, ORDER BYμ μμ μ¬μ©
- λ°μ΄ν° νμ λ³κ²½ κ°λ₯
- μ€μ²© κ°λ₯
λ¬Έμ ν¨μ
ν¨μ | μ€λͺ |
---|---|
CHR(65) / ASCII('A') | λ¬Έμ / ASCII |
LOWER('HELLO WORLD') / UPPER('hello world') | μλ¬Έμ / λλ¬Έμ |
INITCAP('the quick brown fox') | 첫 κΈμλ§ λλ¬Έμλ‘ λ³ν |
LPAD('123', 5, '0') 00123 / RPAD('123', 5, '0') 12300 | μΌμͺ½ / μ€λ₯Έμͺ½μμ λ¬Έμμ΄ |
LTRIM(' hello') / RTRIM('hello ') | μΌμͺ½ / μ€λ₯Έμͺ½ 곡백 μ κ±° |
REPLACE('hello world', 'l', 'z') hezzo worzd | λ¬Έμμ΄ μΉν |
SUBSTR('hello world', 2, 5) / SUBSTRB | λ¬Έμμ΄ μλΌλ΄κΈ° / byte κΈ°μ€ |
LENGTH('hello world') / LENGTHB | λ¬Έμμ΄ κΈΈμ΄ / byte κΈ°μ€ |
INSTR('hello world', 'l') 3 / INSTRB | λ¬Έμμ΄μ μμΉλ₯Ό μ°Ύμ. μμΌλ©΄ 0 (>0: μΌμͺ½λΆν° -1: μ€λ₯Έμͺ½λΆν°) / byte κΈ°μ€ |
μ«μ ν¨μ
ν¨μ | μ€λͺ |
---|---|
CEIL(2.3) 3 | ν¬κ±°λ κ°μ κ°μ₯ μμ μ μ |
MOD(10, 3) | 10 // 3 |
POWER(2, 3) | κ±°λμ κ³± |
ROUND(2.345, 2) 2.35 | λ°μ¬λ¦Ό |
TRUNC(2.345, 2) 2.34 | λ²λ¦Ό |
SIGN 1 0 -1 | μμ / μμ κ΅¬λΆ |
λ μ§ ν¨μ
ν¨μ | μ€λͺ |
---|---|
SYSDATE | νμ¬ λ μ§μ μκ° |
LAST_DAY('01-JAN-2023') 2023-01-31 | ν΄λΉ μμ λ§μ§λ§ λ μ§ |
MONTHS_BETWEEN('01-JAN-2023', '01-OCT-2022') 3.96774193548387 |
λ κΈ°κ° μ¬μ΄μ κ°μ μ |
ADD_MONTHS('01-JAN-2023', 3) 2023-04-01 | μμ λνκ³ λΉΌκΈ° |
NEXT_DAY('01-JAN-2023', 'FRIDAY') 2023-01-06 | λ€μ 첫 λ²μ§Έ ν΄λΉ μμΌμ λ μ§ |
TRUNC(date, format) | ν¬λ§·μΌλ‘ λͺ μλ λ¨μλ‘ μλΌλΈ κ²°κ³Ό |
ROUND(date, format) | ν¬λ§·μΌλ‘ λͺ μλ λ¨μλ‘ λ°μ¬λ¦Ό(μ μ€) |
+ λ μ§ μ°μ°
μ°μ° | κ²°κ³Ό |
---|---|
DATE + NUMBER | λ μ§μ ν΄λΉ μΌμλ₯Ό λν κ²°κ³Όλ₯Ό λ μ§ ννλ‘ λ°ν |
DATE - NUMBER | λ μ§μ ν΄λΉ μΌμλ₯Ό λΊ κ²°κ³Όλ₯Ό λ μ§ ννλ‘ λ°ν |
DATE1 - DATE2 | λ λ μ§ μ¬μ΄μ κ²½κ³Ό μΌμλ₯Ό μ«μλ‘ λ°ν |
DATE + NUMBER/24 | λ μ§μ ν΄λΉ μκ°μ λνμ¬ λ μ§ ννλ‘ λ°ν |
λ³ν ν¨μ
ν¨μ | μ€λͺ |
---|---|
TO_CHAR(μ«μ λλ λ μ§, ν¬λ§·) | λ¬Έμλ‘ μΉν |
TO_NUMBER(λ¬Έμμ΄) | μ«μλ‘ μΉν |
TO_DATE(λ¬Έμμ΄) | λ μ§λ‘ μΉν |
TO_CHAR μ«μ ν¬λ§·
n | format | format |
---|---|---|
1000 | 9,999.99 | 9G999D99 |
1234567.890 | 9,999,999.999 | 9G999G999D999 |
3.5 | 9,999.99 | 9G999D99 |
1234 | 999,999 | 999G999 |
TO_CHAR λ μ§ ν¬λ§·
format | format sample |
---|---|
‘YYYYMMDD’ | '20230728’ |
‘YYYY/MM/DD’ | ‘2023/07/28’ |
‘YYYY-MM-DD’ | ‘2023-07-28’ |
‘YYYY/MM/DD HH24MISS’ | ‘2023/07/28 054412’ |
‘YYYY/MM/DD HHMISS AM’ | ‘2023/07/28 054434 μ€μ ’ |
‘YYYY/MM/DD HH24:MI:SS’ | ‘2023/07/28 05:45:08’ |
‘YYYY/MM/DD HH24:MI:SS.SSSSS’ | ‘2023/07/28 05:45:50.20750’ |
κΈ°ν ν¨μ
ν¨μ | μ€λͺ |
---|---|
NVL(컬λΌμ΄λ¦, λ체κ°) | Null μ²λ¦¬ ν¨μ |
NVL2(a,b,c) | a ≠ nullμΈ κ²½μ° b 리ν΄, = nullμ΄λ©΄ c λ¦¬ν΄ |
DECODE(a, b, c, d) a == b, c μλλ©΄ d | |
DECODE(a,b,c,d,e,f) a == bλ©΄ c, a == dλ©΄ e μλλ©΄ f | μ°μ 쑰건문 |
USERENV('SESSIONTIMEZONE') | νκ²½ κ° |
GREATEST(1, 2, 3) / LEAST(1, 2, 3) | μ΅λκ° / μ΅μκ° |
UID / USER | User ID / User λͺ |
μ§κ³ ν¨μ
Aggregate function
- μ 체 μ§ν© λλ κ·Έλ£ΉμΌλ‘ λΆλ₯λ μ§ν©μ μμ©ν©λλ€.
- GROUP BY λ‘ μκ·Έλ£Ήλ³ κΈ°μ€μ μ νκ³ , SELECT μ μμ μ§κ³ ν¨μλ₯Ό μ¬μ©ν©λλ€.
- SELECT μμ GROUP BYμμ μ¬μ©ν μμ±κ³Ό μ§κ³ν¨μλ§ μΈ μ μμ΅λλ€.
- WHERE μ μμ μ¬μ©ν μ μμ΅λλ€. (μ°Έκ³ → μ μν μμ)
- GROUP BY μ μμ SELECT μ κ³Ό λ¬λ¦¬ aliasλ₯Ό μ¬μ©ν μ μμ΅λλ€.
- HAVING μ μ GROUP BYμ μ κΈ°μ€ νλͺ©μ΄λ μκ·Έλ£Ήμ μ§κ³ ν¨μλ₯Ό μ΄μ©νμ¬ μ‘°κ±΄μ νμν μ μμ΅λλ€.
μν μμ : GROUP BY ν λΆλ₯ → aggregate function κ·Έλ£Ήμ μ μ© → HAVING 쑰건μ μΌμΉνλ νλ§ μΆλ ₯
- μ¬μ© μ μΌλ° 컬λΌμ select μ μ ν¨κ» μ¬μ©νμ§ λͺ»ν©λλ€. λ¨, group by μ λμ¨ μ»¬λΌμ κ°λ₯.
ν¨μ | μ¬μ© λͺ©μ |
---|---|
COUNT(*) | nullμ ν¬ν¨ν νμ μ μΆλ ₯ |
COUNT(ννμ) | ννμμ κ°μ΄ nullμΈ κ²μ μ μΈν νμ μ μΆλ ₯ |
SUM([distinct|all]ννμ) | nullμ μ μΈν ννμ κ°μ ν©κ³ μΆλ ₯ |
AVG([distinct|all]ννμ) | nullμ μ μΈν ννμ κ°μ νκ· μΆλ ₯(null μ μΈνκ³ λλ) |
MAX([distinct|all]ννμ) | ννμμ μ΅λκ°μ μΆλ ₯(λ¬Έμ, λ μ§λ μ¬μ© κ°λ₯) |
MIN([distinct|all]ννμ) | ννμμ μ΅μκ°μ μΆλ ₯(λ¬Έμ, λ μ§λ κ°λ₯) |
STDDEV([distinct|all]ννμ) | ννμμ νμ€νΈμ°¨λ₯Ό μΆλ ₯ |
VARIANCE([distinct|all]ννμ) | ννμμ λΆμ°μ μΆλ ₯ |
RANK(3000) within GROUP(ORDER BY sal desc) | κ·Έλ£Ή λ΄μ μ 체 κ°μ λμμΌλ‘ κ° κ°μ μμλ₯Ό ꡬν¨. |