提问人:Yumeng Xu 提问时间:6/13/2022 最后编辑:Yumeng Xu 更新时间:6/13/2022 访问量:52
如何在Teradata SQL中进行数值比较?
How to do numerical value comparison in Teradata SQL?
问:
目标是在 Teradata SQL 中创建多个数据范围的用例
我在Teradata SQL中的代码是:
select
case when a <= 5 then b
when (5 < a < 6) then c
else 0 end
from datadate
A 列包含 1、2、3 等数字
错误标志在第一个<显示,因为 SQL 需要以下之一:'at'...'day', 'hour'
如何在Teradata SQL中执行数值比较?当我尝试使用比较符号(如 <、>、<=)时,Teradata SQL 总是假设我正在比较时间/日期。
答:
1赞
dnoeth
6/13/2022
#1
您只能比较两个操作数:
case when a <= 5 then b
when 5 < a AND a < 6 then c
else 0
end
但是,由于 CASE 返回第一个 WHEN 计算为 TRUE:
case when a <= 5 then b
when a < 6 then c -- all values <= 5 are already returned by the 1st when
else 0
end
评论
case when a <= 5 then 'b' when (5 < a < 6) then 'c' else '0' end as cond