【发布时间】:2019-11-25 16:53:19
【问题描述】:
我需要检查两个条件: 1.当函数返回true时 2. 当函数返回 true 并且 ISP_Program 中包含单词“IRSS”时 什么是正确的语法?我有以下内容:
UPDATE [PAYROLL].[dbo].[BILL]
SET Pay_Code = CASE dbo.is_Holiday([BILL].Date)
WHEN 1 THEN holiday_code
WHEN 1 AND ISP_Program like '%IRSS%' THEN '66'
ELSE Pay_Code
END
FROM tbl_TXEX_HOLIDAY
INNER JOIN [BILL] ON [BILL].Pay_Code = tbl_HOLIDAY.regular_code
【问题讨论】:
-
您的第二个条件是第一个条件的子集。样本数据和所需结果可能会阐明您想要什么。另外,标记您正在使用的数据库。
-
您尝试混合使用 simple case 和 searched case 表达式。 documentation 解释了条件的差异。而
'1'不是适合与and一起使用的boolean data type值。
标签: sql sql-server tsql sql-update