9doit

Asp.net & Vb.net & 电子商务

导航

SQL 时间操作的一些碎片

下面是使用日期和时间数据的一些规则:

  • 若要搜索完全匹配的日期和时间,请使用等号 (=)。SQL Server 将返回月、日、年完全匹配的日期和时间值,精确时间表示为 12:00:00:000 A.M.(默认)。

  • SQL Server 在运行时计算 datetime 常量。如果由使用不同语言和日期格式设置的连接执行查询,则使用一种语言所需的数据格式的数据字符串可能不可识别。例如,对于使用美国英语语言设置建立的连接,此视图可以正常工作,而对于使用其他语言设置建立的连接,此视图无法正常工作:

    复制代码
    CREATE VIEW dbo.USA_Dates AS
                    SELECT PurchaseOrderID, TotalDue
                    FROM AdventureWorks.Purchasing.PurchaseOrderHeader
                    WHERE OrderDate < 'May 1, 2002';
    在使用不同语言设置建立的连接所执行的查询中使用 datetime 常量时,需确保日期对于所有语言设置均是可接受的。对于国际数据库中永久对象中的 datetime 常量,例如表约束和查看 WHERE 子句,必须同样小心。下面的示例介绍确保对于所有语言或数据格式连接设置,都对 datetime 常量进行相同解释的一种方法。

    复制代码
    CREATE VIEW dbo.International_Dates AS
                    SELECT PurchaseOrderID, TotalDue
                    FROM AdventureWorks.Purchasing.PurchaseOrderHeader
                    WHERE OrderDate < CONVERT(DATETIME,'20020501',101);
    有关详细信息,请参阅编写国际化 Transact-SQL 语句

posted on 2006-10-17 17:13  9Doit.net  阅读(144)  评论(0)    收藏  举报