日期:2014-05-16  浏览次数:20512 次

T-SQL 表查询
假设一个表有两个字段
字段       类型
A             datetime 
B             datetime
现在报有如下几行数据



要查询如下四列数据,分别是A 、B、 C、D
C的定义如下:
  if   A  IS NULL      then   C = B
 else                              C = A
               
D的定义如下:
D = C - B  (这里可以datediff函数处理时间差)
------解决方案--------------------
select
   a,b,
   case when a is null then b else a end as c,
   datediff(dd,b,case when a is null then b else a end) as d
from
   tb

------解决方案--------------------
引用:
select a,b,isnull(a,b)c,d=datediff( 自己写,c,b)
from tb

d=datediff( 自己写,isnull(a,b),b)