使用sql datepart进行查询

时间:2011-06-29 19:39:20

标签: sql-server-2008

我有一个包含两列的表格:

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。我必须避免时间的一部分。我只是使用日期部分。

谁能告诉我怎么办?

2 个答案:

答案 0 :(得分:1)

我更新了我的回答,使用像snkmchnb建议的转换。但是在SQL Server 2008中有一个DATE数据类型,它只是一年中的日期部分,因此您不必指定120代码。我对此进行了测试,它运行良好,SQL非常简单。

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

答案 1 :(得分: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?