SQL 函数比较日期失败
comparing dates is failing in SQL function
我正在尝试使用标量函数配置计算列。我需要根据日期对列状态设置 BIT。
CREATE FUNCTION dbo.setStatus(@StartDate datetime, @EndDate datetime)
RETURNS bit
AS
BEGIN
RETURN (@StartDate < GETDATE() && GETDATE() < @EndDate)
END
GO
我在 ssms 中看到符号“<”无效的错误。
您需要使用 CASE
语句来检查条件,并相应地 return 1
或 0
CREATE FUNCTION dbo.setStatus(@StartDate datetime, @EndDate datetime)
RETURNS bit
AS
BEGIN
RETURN (CASE WHEN @StartDate < GETDATE() AND GETDATE() < @EndDate THEN 1 ELSE 0 END)
END
GO
编辑:SQL 服务器的逻辑与运算符是 AND
而不是 &&
。我已经在查询中进行了更改
我正在尝试使用标量函数配置计算列。我需要根据日期对列状态设置 BIT。
CREATE FUNCTION dbo.setStatus(@StartDate datetime, @EndDate datetime)
RETURNS bit
AS
BEGIN
RETURN (@StartDate < GETDATE() && GETDATE() < @EndDate)
END
GO
我在 ssms 中看到符号“<”无效的错误。
您需要使用 CASE
语句来检查条件,并相应地 return 1
或 0
CREATE FUNCTION dbo.setStatus(@StartDate datetime, @EndDate datetime)
RETURNS bit
AS
BEGIN
RETURN (CASE WHEN @StartDate < GETDATE() AND GETDATE() < @EndDate THEN 1 ELSE 0 END)
END
GO
编辑:SQL 服务器的逻辑与运算符是 AND
而不是 &&
。我已经在查询中进行了更改