我想构建一个存储过程,它可以返回值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
但我有一个错误的语法。
你有什么想法吗?
由于
答案 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()))