2011-06-29 55 views
0

我有一個表有兩個列:查詢與SQL日期部分

serial_number 
1 
2 
3 

dateOfAppoinement 
2011-06-30 00:39:04.130 
2011-06-30 00:40:01.130 
2011-06-30 00:49:04.130 

我想,每天的最高SERIAL_NUMBER。我必須避開時間部分。我只是使用日期部分。

誰能告訴我我該怎麼做?

回答

1

我更新建議使用轉換類似snkmchnb的轉換。但是,在SQL Server 2008中,DATE數據類型只是一年的日期部分,因此您不必指定120代碼。我測試了它,它完美地工作,SQL非常簡單。

SELECT 
    MAX(serial_number), 
    CONVERT(DATE, dateOfAppointment) as [Day] 
FROM 
    #TempSerialsByDate 
GROUP BY 
    CONVERT(DATE, dateOfAppointment) 
+0

我只是需要一天的最大序列號。 。我試着用你的方法......不工作......任何建議? –

+0

立即嘗試。它的工作原理,我只是在本地做了一個臨時表並嘗試了它。查詢以前只能每月工作。 –

+0

yes..it適用於我....不錯的查詢... 100%完美......我必須邀請您喝杯咖啡... –

0

我覺得這個選擇解決您的問題,如果它是最好的方式想不通:

select dateadd(dd,0, datediff(dd,0, dateOfAppoinement)) 
from your_table where serial_number = (select max(serial_number) form your_table) 

如何在SQL Server截斷日期可以在這裏找到: How can I truncate a datetime in SQL Server?

+0

賽的查詢似乎有更好的方式 – RMalke

+0

我是在那裏clause..and後收到錯誤我想作爲SERIAL_NUMBER選擇result..please記住這一點 –