如何使用curdate?

时间:2012-09-05 13:08:36

标签: sql-server date stored-procedures

我想构建一个存储过程,它可以返回值0或1,具体取决于今天是否在日期列表中。 我做了这样的事情:

USE [Alt_db]
GO
/****** Object:  StoredProcedure [dbo].[usp_ys]    Script Date: 09/05/2012 14:21:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE  PROCEDURE [dbo].[usp_Is_Holyday]
@Value varchar(50),
@Result bit OUTPUT
AS
Begin
If exists (select 1 from Holyday_Date where ISOCNTRYDESC=@Value and Holiday = CURDATE())
set @Result=1
Else
set @Result=0
End

但我有一个错误的语法。

你有什么想法吗?

由于

1 个答案:

答案 0 :(得分:2)

对于SQL Server,请尝试:

Holiday = getdate()

或仅限日期部分:

cast(Holiday as date) = cast(getdate() as date)

对于SQL Server 2005或更早版本,请使用:

dateadd(day, 0, datediff(day, 0, Holiday)) = 
    dateadd(day, 0, datediff(day, 0, getdate()))