【问题标题】:TOAD SQL CASE StatementTOAD SQL CASE 语句
【发布时间】:2013-04-09 17:19:12
【问题描述】:

我正在尝试做我认为相当复杂的案例陈述。我想要实现的是:

当 DATE+365 小于 OTHERDATE 且等于 YETANOTHER DATE THEN 'Correct'

现在我的代码如下所示:

(CASE WHEN ((X2.TERMDATE + 365) < X1.LASTHIRE) IS (X1.ORIGINALHIRE) THEN 'Correct' 

WHEN ((X2.TERMDATE + 365) < X1.LASTHIRE) IS (X3.LASTHIRE) THEN 'Correct' 

WHEN ((X2.TERMDATE + 365) > X1.LASTHIRE) IS (X1.LASTHIRE) THEN 'Correct' 

ELSE 'ERROR' END)

这可能吗?我哪里错了?

【问题讨论】:

    标签: sql select case toad


    【解决方案1】:

    我不确定,但我认为问题出在以下部分:

    IS (X1.ORIGINALHIRE)
    

    你可能不得不用这种东西来代替它

    and something = x1.originalhire
    

    【讨论】:

    • 更改为 = 仍然无效。我收到错误“缺少关键字”。
    • @user1475816 仅将 IS 更改为 = 是不够的。尝试将IS (X1.ORIGINALHIRE) 更改为AND (X2.TERMDATE + 365) = X1.ORIGINALHIRE,并类似地更改其他行。
    • 这解决了这个问题(通过一些额外的调整)-谢谢!
    猜你喜欢
    • 1970-01-01
    • 2022-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-05
    • 1970-01-01
    • 1970-01-01
    • 2011-03-12
    相关资源
    最近更新 更多