【发布时间】:2011-11-30 11:53:07
【问题描述】:
在 SQL Server 上检查当月事件的正确方法是什么?为什么?
1) WHERE (DATEDIFF(month, EventTime, GETDATE())=0))
2) WHERE (YEAR(EventTime) = YEAR(GETDATE()) AND MONTH(EventTime) = MONTH(GETDATE()))
表格中的日期格式为EventTime: 2011-11-30 15:68:25.000
【问题讨论】:
-
注意:数据类型 DATETIME 等没有这样的格式。这只是用于在屏幕上表示它们的格式,因为我们人类不喜欢阅读二进制文件等。但是,如果它们实际上作为字符串(NVARCHAR 等)存储在表中,则格式确实很重要,这会严重影响性能。
-
@Dems 啊,不,这是日期时间格式,不是 varchar,不用担心 :)
标签: sql sql-server tsql datetime