将访问if语句转换为优惠代码

时间:2019-04-10 14:11:29

标签: sql advantage-database-server

我在访问查询中有以下代码。我想将其转换为一种情况,或者如果有利于sql。

我发布了我的案例声明,并给了我一个无效的运算符>错误代码。我在devzone上查看了优势数据库,结果显示我可以使用>运算符。

任何帮助都很好

按时完成:IIf([CompletedDate]为空或Int([CompletedDate])> [DueDate],“否”,“是”)

   case 
   when completeddate is null then 'No'
   when completeddate > duedate then 'No'
   else 'Yes'
   End as "CompletedDateCase"

1 个答案:

答案 0 :(得分:0)

这应该做您想要的:

iff(completeddate is null or completeddate > duedate, "No", "Yes") as CompletedDateCase

我不确定为什么要尝试将日期列转换为整数。

哦,如果您尝试采用其他方法:

(CASE WHEN CompletedDate Is Null Or CAST(CompletedDate as INT) > DueDate
      THEN 'No' ELSE 'Yes'
 END) as CompletedDateCase

您应该能够比较日期和日期/时间:

(CASE WHEN CompletedDate Is Null Or CompletedDate > DueDate
      THEN 'No' ELSE 'Yes'
 END) as CompletedDateCase

您可能要检查这是否符合您实际想要的逻辑。例如,时间成分可能会影响结果。