1、年月日加减法(时间字段为 hiredate,表名为 emp)
DB2
select
hiredate -5 day as hd_sub_5day,
hiredate +5 day as hd_add_5day,
hiredate -5 month as hd_sub_5month,
hiredate +5 month as hd_add_5month,
hiredate -5 year as hd_sub_5year,
hiredate +5 year as hd_add_5year
from emp
Oracle
select
hiredate -5 as hd_sub_5day,
hiredate 5 as hd_add_5day,
add_months(hiredate,-5) as hd_sub_5month,
add_months(hiredate,5) as hd_add_5month,
add_months(hiredate,-5*12) as hd_sub_5year,
add_months(hiredate,5*12) as hd_add_5year
from emp
Mysql
select
hiredate - interval 5 day as hd_sub_5day,
hiredate + interval 5 day as hd_add_5day,
hiredate - interval 5 month as hd_sub_5month,
hiredate + interval 5 month as hd_add_5month,
hiredate - interval 5 year as hd_sub_5year,
hiredate + interval 5 year as hd_add_5year
from emp
或者使用date_add函数
select
date_add(hiredate,interval - 5 day) as hd_sub_5day,
date_add(hiredate,interval 5 day) as hd_add_5day,
date_add(hiredate,interval - 5 month) as hd_sub_5month,
date_add(hiredate,interval 5 month) as hd_add_5month,
date_add(hiredate,-interval - 5 year) as hd_sub_5year,
date_add(hiredate,interval 5 year) as hd_add_5year
from emp
SQL Server
select
date_add(day ,interval - 5 hiredate) as hd_sub_5day,
date_add(day,interval 5 hiredate) as hd_add_5day,
date_add(month,interval - 5 hiredate) as hd_sub_5month,
date_add(month,interval 5 hiredate) as hd_add_5month,
date_add(year,-interval - 5 hiredate) as hd_sub_5year,
date_add(year,interval 5 hiredate) as hd_add_5year
from emp
2、计算两个日期之间的天数(时间字段为 hiredate,名称字段为 ename,表名为 emp)
DB2
select
days(x.ward-hd) - days(y.allen_hd)
from
(select hiredate as ward_hd
from emp
where ename = 'WARD'
) x,
(select hiredate as allen_hd
from emp
where ename = 'ALLEN'
) y
Oracle
select
x.ward-hd - y.allen_hd
from
(select hiredate as ward_hd
from emp
where ename = 'WARD'
) x,
(select hiredate as allen_hd
from emp
where ename = 'ALLEN'
) y
Mysql 和 SQL Server
select
datediff(day,x.ward-hd,y.allen_hd)
from
(select hiredate as ward_hd
from emp
where ename = 'WARD'
) x,
(select hiredate as allen_hd
from emp
where ename = 'ALLEN'
) y
更多推荐