我有一個表有兩個列:查詢與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。我必須避開時間部分。我只是使用日期部分。
誰能告訴我我該怎麼做?
我有一個表有兩個列:查詢與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。我必須避開時間部分。我只是使用日期部分。
誰能告訴我我該怎麼做?
我更新建議使用轉換類似snkmchnb的轉換。但是,在SQL Server 2008中,DATE數據類型只是一年的日期部分,因此您不必指定120代碼。我測試了它,它完美地工作,SQL非常簡單。
SELECT
MAX(serial_number),
CONVERT(DATE, dateOfAppointment) as [Day]
FROM
#TempSerialsByDate
GROUP BY
CONVERT(DATE, dateOfAppointment)
我覺得這個選擇解決您的問題,如果它是最好的方式想不通:
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?
賽的查詢似乎有更好的方式 – RMalke
我是在那裏clause..and後收到錯誤我想作爲SERIAL_NUMBER選擇result..please記住這一點 –
我只是需要一天的最大序列號。 。我試着用你的方法......不工作......任何建議? –
立即嘗試。它的工作原理,我只是在本地做了一個臨時表並嘗試了它。查詢以前只能每月工作。 –
yes..it適用於我....不錯的查詢... 100%完美......我必須邀請您喝杯咖啡... –