SQL 时间操作的一些碎片
下面是使用日期和时间数据的一些规则:
- 若要搜索完全匹配的日期和时间,请使用等号 (=)。SQL Server 将返回月、日、年完全匹配的日期和时间值,精确时间表示为 12:00:00:000 A.M.(默认)。
- SQL Server 在运行时计算 datetime 常量。如果由使用不同语言和日期格式设置的连接执行查询,则使用一种语言所需的数据格式的数据字符串可能不可识别。例如,对于使用美国英语语言设置建立的连接,此视图可以正常工作,而对于使用其他语言设置建立的连接,此视图无法正常工作:
在使用不同语言设置建立的连接所执行的查询中使用 datetime 常量时,需确保日期对于所有语言设置均是可接受的。对于国际数据库中永久对象中的 datetime 常量,例如表约束和查看 WHERE 子句,必须同样小心。下面的示例介绍确保对于所有语言或数据格式连接设置,都对 datetime 常量进行相同解释的一种方法。复制代码
CREATE VIEW dbo.USA_Dates AS SELECT PurchaseOrderID, TotalDue FROM AdventureWorks.Purchasing.PurchaseOrderHeader WHERE OrderDate < 'May 1, 2002';
有关详细信息,请参阅编写国际化 Transact-SQL 语句。复制代码
CREATE VIEW dbo.International_Dates AS SELECT PurchaseOrderID, TotalDue FROM AdventureWorks.Purchasing.PurchaseOrderHeader WHERE OrderDate < CONVERT(DATETIME,'20020501',101);
浙公网安备 33010602011771号