我有一个包含以下值的表:
job name start_dt end_dt
gggggg 4/5/2013 5/5/2013
iiiii 6/5/13 7/8/13
我想从start_dt
的{{1}}中减去gggggg
的{{1}}。
我正在使用此查询:
end_dt
这没有给我输出。
答案 0 :(得分:1)
如果这是SQL Server,您可以使用DATEDIFF()
:
select a.job_nm,
datediff(day, a.start_dt, b.end_dt) as [difference]
from JOB a,b
where a.job_nm='ggggg'
and b.job_nm='iiiii'
答案 1 :(得分:0)
执行此操作的一种方法是条件聚合:
select (max(case when j.job_nm = 'iiiii' then b.end_dt end) -
max(case when j.job_nm = 'ggggg' then a.start_dt end)
) as difference
from Job j
where j.job_nm in ('ggggg', 'iiiii');
您可以使用datediff()
功能,但对datetimes
我更容易找到减法。