sql – Oracle:如何比较查询中的两个NUMBERS值?’TRUE’或’FALSE’?
发布时间:2020-05-24 09:46:09 所属栏目:MsSql 来源:互联网
导读:我想比较两个数字.我们取1和2. 我试着写下面的查询,但它根本没有按预期工作(Toad说:ORA-00923:找不到FROM关键字): SELECT 1 2 from dual DECODE类似于Switch案例,那么我怎样才能得到表达式评估的结果(即数字比较)将其放入选择列表中? 我找到了一个使用函
|
我想比较两个数字.我们取1和2. 我试着写下面的查询,但它根本没有按预期工作(Toad说:ORA-00923:找不到FROM关键字): SELECT 1 > 2 from dual DECODE类似于Switch案例,那么我怎样才能得到表达式评估的结果(即数字比较)将其放入选择列表中? 我找到了一个使用函数而不是SELECT LIST中的表达式的解决方案:即 select DECODE(SIGN(actual - target),-1,'NO Bonus for you','Just made it',1,'Congrats,you are a winner') from some_table 有更优雅的方式吗? 另外我如何比较两个日期? 解决方法如果你想测试一个>,SIGN()函数确实可能是你感兴趣的最佳分类方法. b,a = b和a< b,它将接受date-date或numeric-numeric作为参数. 我会优先使用Case语句,而不是解码.Select
case sign(actual-target)
when -1 then ...
when 0 then ...
when 1 then ...
end (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
