需要帮助来获取当前日期的记录?

时间:2012-10-22 12:53:34

标签: sql-server stored-procedures

我正在尝试编写存储过程以获取当前日期的记录,但我无法这样做。我创建了一个用于记录显示的最新版本,并尝试修改它。

以下是代码:

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[SP_SELECTTODAYRECORDS_Test]
AS
BEGIN 
    SELECT col_Source as 'country', 
    col_FirstName +' '+col_LastName as 'name',
    description as 'state' ,
    col_county
    from tbl_Info_Test, tbl_CountySite 
    where col_Pic is not null
    and col_Source = sourcecountry
    and ISDATE(col_BookDate) = 1
    order by CONVERT(datetime, col_BookDate) DESC
END

2 个答案:

答案 0 :(得分:1)

如果您正在尝试获取今天日期的报告,那么您可以将转换功能与GetDate()一起使用。

如果您在SP中添加以下条件,则会给出col_BookDate为今天日期的记录。

CONVERT(VARCHAR(10),col_BookDate,101)=CONVERT(VARCHAR(10),GETDATE(),101)

答案 1 :(得分:1)

日期字段组合了日期和时间信息。要选择当前日期的记录,您必须省略时间部分。一种方法是从现场移除时间部分。请参阅以下链接:

Most efficient way in SQL Server to get date from date+time?

其他方法是选择当前日期开始(00:00)和第二天开始之间的所有记录:

... WHERE DateField >= @Date AND DateField < DATEADD(d, 1, @Date)