日期:2014-05-17  浏览次数:20677 次

求助这个关于时间显示的查询语句
表Promotion的字段和值如下:
id startTime
1 2012-08-20 15:23:10
2 2012-08-15 09:12:10
3 2012-08-11 22:30:00
我想在显示时间时,距离此刻如果大于等于一天的就显示天数,如果不足一天的就显示小时和分钟数,比如这个例查出的结果就显示为:
9天
4天
10小时
这个语句怎么写?

------解决方案--------------------
SQL code
SELECT 
    CASE WHEN DATEDIFF(hh,GETDATE(),startTime)>24 THEN DATEDIFF(dd,GETDATE(),startTime)
        WHEN DATEDIFF(n,GETDATE(),startTime)>60 THEN DATEDIFF(hh,GETDATE(),startTime)
        WHEN DATEDIFF(s,GETDATE(),startTime)>60 THEN DATEDIFF(n,GETDATE(),startTime)
    END AS [显示时间]
FROM Promotion