我需要在SQL中将日期的最后一天作为日期给出.如果我有一个月的第一天,我可以这样做:
DATEADD(DAY, DATEADD(MONTH,'2009-05-01',1), -1)
Run Code Online (Sandbox Code Playgroud)
但有没有人知道如何推广它所以我可以找到任何给定日期的月份的最后一天?
我一直convert(varchar,datefield,112)在每个日期字段上执行一次我在SQL服务器中的'之间'查询中使用,以确保我只根据日期时间字段的时间部分计算日期而不会丢失任何日期.
现在,我听说转换器不可索引,并且在SQL Server 2005中有更好的方法来比较查询中日期时间的日期部分,以确定日期是否属于某个范围.
做这样的事情的最佳,可索引的方法是什么:
select * from appointments
where appointmentDate>='08-01-2008' and appointmentDate<'08-15-2008'
Run Code Online (Sandbox Code Playgroud)