在SQL Server 较高版本,如SQL 2008新增加了一个日期数据类型DATE,它很容易地帮Insus.NET解决一个问题。
专案中需要做每天的报表,即是说要搜索出每天的记录。比如用户输入某一天,搜索出某一天的数据出来,不管搜索日期字段是否为纯日期还是带有时间的。以前使用BETWEEN谓词等。如今做法:
DECLARE @D AS DATE --搜索日期
SELECT * FROM [dbo].[Orders] WHERE CAST([OrderDate] AS DATE) = CAST(@D AS DATE)
SELECT * FROM [dbo].[Orders] WHERE CAST([OrderDate] AS DATE) = CAST(@D AS DATE)