日期:2014-05-18  浏览次数:20477 次

关于datediff的语句
tableC

Id state Time  
001 创建 2011-03-03 07:00:00  
001 删除 2011-03-04 08:07:33  
001 更新 2011-03-05 08:34:03  

tableF
Id state AddTime
1 创建 1
2 删除 3
3 更新 7

AddTime列的数据表示Time时间要增加的小时数

我想把Time列显示的内容改为(当前时间减去Time时间)

Id Time
1 2011-03-03 08:00:00
2 2011-03-04 11:07:33
3 2011-03-05 15:34:03


用以下语句可以实现

select
  b.id,
  datediff(hh,dateadd(hh,b.AddTime,a.time),getdate()) as [time]
from
  tablec a join tablef b
on
  a.state=b.state





但如果在datediff(hh,dateadd(hh,b.AddTime,a.time),getdate())中要将所得的值精确到 时分 请问这句语句应该怎么写?


------解决方案--------------------
SQL code
日期部分  缩写形式  
Year
 yy、yyyy
 
Quarter
 qq、q
 
Month
 mm、m
 
Dayofyear
 dy、y
 
Day
 dd、d
 
Week
 wk、ww
 
Weekday
 dw、w
 
Hour
 Hh
 
Minute
 mi、n
 
Second
 ss、s
 
Millisecond
 Ms