将访问 if 语句转换为优势代码
Posted
技术标签:
【中文标题】将访问 if 语句转换为优势代码【英文标题】:Convert access if statement to advantage code 【发布时间】:2019-04-10 14:11:28 【问题描述】:我在访问查询中有以下代码。我想将其转换为一个案例,或者如果在优势 sql.
我发布了我的案例陈述,它给了我一个无效的运算符 > 错误代码。我在 devzone 上查看了优势数据库,它表明我可以使用 > 运算符。
任何帮助都会很棒
按时完成:IIf([CompletedDate] Is Null Or Int([CompletedDate])>[DueDate],"No","Yes")
case
when completeddate is null then 'No'
when completeddate > duedate then 'No'
else 'Yes'
End as "CompletedDateCase"
【问题讨论】:
【参考方案1】:这应该做你想做的:
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
您可能想检查这是否符合您实际想要的逻辑。例如,时间分量可能会影响结果。
【讨论】:
我使用 iff(completeddate is null or completeddate > duedate, "No", "Yes") 作为 CompletedDateCase 并且我收到以下错误 poQuery: Error 7200: AQE Error: State = S0000;本机错误 = 2124; [SAP][Advantage SQL Engine]Invalid operand for operator: > -- SQL 语句中的错误位置是:281 (line: 3 column: 31) 那个 int 可以访问,我不是使用它的开发者。在我之前的某个人在访问中做到了这一点,我试图将其纳入优势 sql 的视图中 @BrianK。 . .第二个查询似乎是您想要的。 仍然得到一个无效的运算符操作数 > 想我现在明白了。完成日期是日期/时间,到期日期只是日期。以上是关于将访问 if 语句转换为优势代码的主要内容,如果未能解决你的问题,请参考以下文章