0

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

这是代码:

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
4

2 回答 2

1

如果您想获取今天日期的报告,那么您可以使用带有 GetDate() 的转换函数。

如果您在 SP 中添加以下 where 条件,它将提供当天日期的 col_BookDate 记录。

CONVERT(VARCHAR(10),col_BookDate,101)=CONVERT(VARCHAR(10),GETDATE(),101)
于 2012-10-22T13:01:58.790 回答
1

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

SQL Server 中从日期+时间获取日期的最有效方法?

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

... WHERE DateField >= @Date AND DateField < DATEADD(d, 1, @Date)
于 2012-10-22T13:04:10.007 回答