SQL Server datetime列过滤特定日期或日期范围

时间:2010-05-12 05:57:55

标签: sql sql-server tsql datetime

今天有一个例子

Get row where datetime column = today - SQL server noob

我主要对2008年感兴趣。对于今天它看起来像

SELECT (list of fields)
FROM dbo.YourTable
WHERE dateValue BETWEEN 
   CAST(GETDATE() AS DATE) AND DATEADD(DAY, 1, CAST(GETDATE() AS DATE))

我应该放置哪些日期或函数的字面值(我需要格式)以使其独立于本地设置工作。

1 个答案:

答案 0 :(得分:3)

您的查询将按原样运行,因为它仅使用日期/时间数据类型。也就是说,因为您没有涉及varchar,所以SET DATEFORMAT或SET LANGUAGE设置不适用。

因为它是SQL Server 2008,您可以使用已删除时间部分的“日期”类型。

或者我误解了?

编辑:

您可以使用此格式yyyymmdd,因为无论设置如何,它都是SQL Server的“安全”格式。

请参阅此处:sql server datetime