为什么以下语句不会在firebird SQL中起作用:
IIF((EXTRACT(WEEKDAY FROM TIMESHEETLINES.DATEWORKED)) = 0,
"SUNDAY",
TIMESHEETLINES.DATEWORKED)
目的是将日期放入"周结束"类别。因此,无论在日期工作日期输入什么日期,它都会在报告中显示为在周结束时。
我可以使用嵌套的if或case语句,但由于case语句不起作用,我试图将其分解为IFF语句。但是我们都不喜欢使用我自己工作的EXTRACT函数,但是在IFF或CASE语句中使用时却没有。
答案 0 :(得分:1)
示例:
select iif( sex = 'M', 'Sir', 'Madam' ) from Customers
使用' SUNDAY' 代替" SUNDAY"。双引号表示方言3的字段名称或表格(感谢Mark Rotteveel)。
请参阅SQL Dialects
所以,试试:
select IIF((EXTRACT(WEEKDAY FROM TIMESHEETLINES.DATEWORKED))=0,'SUNDAY',
TIMESHEETLINES.DATEWORKED) from TIMESHEETLINES