ex11_date_time_function
λ μ§ μκ° ν¨μ
1. sysdate
- νμ¬ μμ€ν
μ μκ°μ λ°ν
- Calendar. getInstance()
- date sysdate
-- RR/MM/DD
-- YYYY-MM-DD HH24:MI:SS
select sysdate from dual; -- 23/03/16 > 2023-03-16 11:49:57
λ μ§ μ°μ°
1. μκ° - μκ° = μκ°(μΌ)
select
name,
ibsadate,
round(sysdate - ibsadate) as "근무μΌμ",
round((sysdate - ibsadate) / 365) as "근무λ
μ", --μ¬μ©κΈμ§(μ νX)
round((sysdate - ibsadate) * 24) as "근무μμ",
round((sysdate - ibsadate) * 24 * 60) as "근무λΆμ",
round((sysdate - ibsadate) * 24 * 60 * 60) as "근무μ΄μ"
from tblInsa;
select
title,
adddate,
completedate,
round((completedate - adddate) * 24, 1) as "μ€ννκΈ°κΉμ§κ±Έλ¦°μκ°"
from tblTodo
--where round((completedate - adddate) * 24, 1) <= 1;
order by round((completedate - adddate) * 24, 1) desc;
2. μκ° + μκ°(μΌ) = μκ°
3. μκ° - μκ°(μΌ) = μκ°
select
sysdate,
sysdate + 100 as "100μΌλ€",
sysdate - 100 as "100μΌμ ",
sysdate + (3 / 24) as "3μκ°ν",
sysdate - (5 / 24) as "5μκ°μ ",
sysdate + (30 / 60 / 24) as "30λΆλ€"
from dual;
μκ° - μκ° = μκ°(μΌ)
months_between()
- number months_between(date, date)
- μκ° - μκ° = μκ°(μ)
add_months()
- number add_months(date, μκ°)
- μκ° + μκ°(μ) = μκ°
select
name,
round(sysdate - ibsadate) as "근무μΌμ",
round((sysdate - ibsadate) / 365) as "근무λ
μ", --μ λ’°X
round(months_between(sysdate, ibsadate)) as "근무μμ", --μ λ’°O
round(months_between(sysdate, ibsadate) / 12) as "근무λ
μ" --μ λ’°O
from tblInsa;
select
sysdate,
sysdate + 10, --10μΌ λ€
sysdate + 30, --νλ¬ λ€?(μ λ’°X) 23/04/15
add_months(sysdate, 1), --νλ¬ λ€(μ λ’°O) 23/04/16
add_months(sysdate, -3), --3κ°μ μ
add_months(sysdate, 3 * 12) --3λ
λ€
from dual;
μκ° - μκ°
1. μΌ, μ, λΆ, μ΄ > μ°μ°μ(-)
2. μ, λ
> months_between()
μκ° +- μκ°
2. μΌ, μ, λΆ, μ΄ > μ°μ°μ(+,-)
2. μ, λ
> add_months()
ex12_casting_function
νλ³ν ν¨μ
- (int)num
1. to_char(μ«μ) : μ«μ > λ¬Έμ
2. to_char(λ μ§) : λ μ§ > λ¬Έμ ***********
3. to_number(λ¬Έμ) : λ¬Έμ > μ«μ
4. to_date(λ¬Έμ) : λ¬Έμ > λ μ§ *****
*** SQLμ μ μ°ν μΈμ΄ > λ¬Έλ²μ μ λΉν μ€μ > μλ£ν > μμμ νλ³ν μ¦μ
1. to_char(μ«μ, νμλ¬Έμμ΄)
νμλ¬Έμμ΄ κ΅¬μ±μμ
a. 9: μ«μ 1κ°λ₯Ό λ¬Έμ 1κ°λ‘ λ°κΎΈλ μν . λΉμ리λ₯Ό μ€νμ΄μ€λ‘ μΉν > %5d
b. 0: μ«μ 1κ°λ₯Ό λ¬Έμ 1κ°λ‘ λ°κΎΈλ μν . λΉμ리λ₯Ό 0μΌλ‘ μΉν > %05d
c. $: ν΅ν κΈ°νΈ νν
d. L: ν΅ν κΈ°νΈ νν
e. .: μμ«μ
f. ,: μ²λ¨μ
select
weight, --μ°μΈ‘μ λ ¬(μ«μ)
to_char(weight), --μ’μΈ‘μ λ ¬(λ¬Έμ)
length(weight), --length() λ¬Έμμ΄ν¨μ > weight μ«μ > μμμ νλ³ν
length(to_char(weight))
from tblComedian;
select
weight,
'@' || to_char(-weight) || '@', -- @-64@
'@' || to_char(-weight, '99999') || '@', -- @ -64@
'@' || to_char(-weight, '00000') || '@' -- @-00064@
from tblComedian;
select
100,
--to_char(100, '999λ¬λ¬')
to_char(100, '$999'),
to_char(100, 'L999'), --μ§μν΅ν(μν)
to_char(100, '999') || 'λ¬λ¬',
to_char(100, '999') || 'μ'
from dual;
select
1234567.89,
to_char(1234567.89, '9,999,999.9') --%,d > 1,234,567.9
from dual;
2. to_char(λ μ§)
- λ μ§ > λ¬Έμ
- char to _char(컬λΌ, νμλ¬Έμμ΄)
νμλ¬Έμμ΄ κ΅¬μ±μμ
a. yyyy
b. yy
c. month
d. mon
e. mm
f. day
g. dy
h. ddd
i. dd
j. d
k. hh
l. hh24
m. mi
n. ss
o. am(pm)
select sysdate from dual;
select to_char(sysdate) from dual;
select to_char(sysdate, 'yyyy') from dual; --λ
(4μ리) *****
select to_char(sysdate, 'yy') from dual; --λ
(2μ리)
select to_char(sysdate, 'month') from dual; --μ(νλ€μ : 3μ)
select to_char(sysdate, 'mon') from dual; --μ(μ½μ΄.. μμ΄μΌλ dec)
select to_char(sysdate, 'mm') from dual; --μ(2μ리) *****
select to_char(sysdate, 'day') from dual; --μμΌ(νλ€μ : λͺ©μμΌ)
select to_char(sysdate, 'dy') from dual; --μμΌ(μ½μ΄ : λͺ©)
select to_char(sysdate, 'ddd') from dual; --μΌ(μ¬ν΄λ€μ΄ λ©°μΉ μΈμ§)
select to_char(sysdate, 'dd') from dual; --μΌ(μ΄λ²λ¬μ λ©°μΉ ) *****
select to_char(sysdate, 'd') from dual; --μΌ(μ΄λ²μ£Όμ λ©°μΉ ) μΌ(1)~ν (7)
select to_char(sysdate, 'hh') from dual; --μ(12μκ°)
select to_char(sysdate, 'hh24') from dual; --μ(24μκ°) *****
select to_char(sysdate, 'mi') from dual; --λΆ *****
select to_char(sysdate, 'ss') from dual; --μ΄ *****
select to_char(sysdate, 'am') from dual; --μ€μ /μ€ν
select to_char(sysdate, 'pm') from dual; --μ€μ /μ€ν
*μκΈ°*
select
sysdate,
to_char(sysdate, 'yyyy-mm-dd'), --2023-03-16
to_char(sysdate, 'hh24:mi:ss'), --14:45:42
to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss'), --2023-03-16 14:46:15
to_char(sysdate, 'day am hh:mi:ss') --λͺ©μμΌ μ€ν 02:46:48
from dual;
λ μ§ μμκ° μλ€
-- λ μ§ μμκ° μλ€.
-- μ
μ¬λ μ§ > 2000λ
μ΄ν
select * from tblInsa
where ibsadate >= '2000-01-01'; --'2000-01-01' > λ¬Έμμ΄
-- μ
μ¬λ μ§ > 2000λ
μ
select * from tblInsa
where ibsadate >= '2000-01-01' and ibsadate <= '2000-12-31'; --μ€λ΅
-- λ μ§ μμ > μλμΌλ‘ 00:00:00 > μμ μΌλ‘ μΈν
λλ€.
select * from tblInsa
where ibsadate >= '2000-01-01 00:00:00' and ibsadate <= '2000-12-31 23:59:59'; --μλ¬. μλΆμ΄ λΆμ΄λ©΄ μλνλ³ν μμμΌμ€
select * from tblInsa
where to_char(ibsadate, 'yyyy') = '2000'; --μμ μ
3. to_number(λ¬Έμ)
select
123,
'123',
to_number('123')
from dual;
select
123 * 2,
to_number('123') * 2,
'123' * 2 -- νλ³ν μν΄λ κ³μ°λ¨(μμμ νλ³ν)
from dual;
4. to_date()
- λ¬Έμ > λ μ§
- date to_date(컬λΌ, νμλ¬Έμμ΄)
select
sysdate, --23/03/16
'2023-03-16', --2023-03-16 > λ¬Έμμ΄!!!, λ μ§(X) > μ¬κΈ°μ νλ³ν λ°μX
to_date('2023-03-16'), --23/03/16
to_date('2023-03-16', 'yyyy-mm-dd'), --μ μ
to_date('20230316'), --23/03/16
to_date('20230316', 'yyyymmdd'), --μ μ
to_date('2023/03/16'),
to_date('2023/03/16', 'yyyy/mm/dd'), --μ μ
--to_date('2023-03-16 15:28:25'), --μλ¬
to_date('2023-03-16 15:28:25', 'yyyy-mm-dd hh24:mi:ss') --*********
from dual;
-- 2000λ
μ μ
μ¬ν μ§μ
select * from tblInsa
where ibsadate >= '2000-01-01' and ibsadate <= '2000-12-31'; --X
select * from tblInsa
where ibsadate >= to_date('2000-01-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')
and ibsadate <= to_date('2000-12-31 23:59:59', 'yyyy-mm-dd hh24:mi:ss');
'νλ‘κ·Έλλ° κ³΅λΆ > Oracle' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[ex14~15] sequence, insert (0) | 2023.03.19 |
---|---|
[ex13] DDL(Data Definition Language) (0) | 2023.03.19 |
[ex10] string function (0) | 2023.03.19 |
[ex08~09] μ§κ³ν¨μ(aggregation function), μν ν¨μ(numerical_function) (0) | 2023.03.19 |
[ex04~07] operator, where, order by (0) | 2023.03.19 |