简体   繁体   English

X和Y之间的Teradata Z与Z> = Y和Z <X

[英]teradata Z between X and Y vs Z >= Y and Z < X

I want to use equality signs instead of the between operator inside of a case statement, however I am getting a syntax error 我想使用等号代替case语句中的between运算符,但是出现语法错误

case 
when item_price between 5 and 6 then '5-6'
when item_price between 6 and 7 then '6-7
end as price_group

However I am aware this will create some kind of overlap between item prices that are exactly 6, so I would prefer to use 但是我知道这会在正好为6的商品价格之间产生某种重叠,所以我更愿意使用

case 
when item_price >= 5 and item_price < 6 then '5-6'
when item_price >= 6 and item_price < 7 then '6-7
end as price_group

The second query gives me error : 第二个查询给我错误:

SELECT Failed 3706: Syntax error: expected something between '<' and '='.

No need to check a range every time, only the range higher boundary 无需每次检查范围,仅范围的较高边界

case 
when item_price <= 5 then '...-5'
when item_price <= 6 then '5-6'
when item_price <= 7 then '6-7'
else                      '7-...'
end as price_group

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM