2012-06-06 58 views
0

時機使用SQL Server 2000如何輪最接近的值

例如

表1

time 

01:02 
00:02 
02:37 
02:58 
.... 

時間格式爲HH:MM

我要舍與最接近的值的時機。像

01 to 04 means 00 only, 05 to 09 means 05 only, 10 to 14 means 10 only..... 55 to 59 means 55 only, 01:00 to 01:04 means 01:00 only.... 

期望輸出

表1

time 

01:00 
00:00 
02:35 
02:55 
.... 

如何使上述條件的查詢。

需要查詢幫助

回答

4
select substring([time], 1, 3) + 
     right(rtrim(('0' + cast(substring([time], 4, 2)/5 * 5 as CHAR))), 2) 
from table1 
+0

謝謝大家正在但當時間02:05意味着它除了顯示該02:50所有的時間都行,爲什麼它是未來像這樣... – JetJack

+0

查看我的更新。現在它應該工作:) –

1
SELECT 
    CONVERT(
    char(5), 
    DATEADD(MINUTE, DATEDIFF(MINUTE, 0, time)/5 * 5, 0), 
    108 
) AS time 
FROM Table1