希望根据价格列中的最后两个数字过滤查询



我正在尝试运行基于价格点转换变化的分析。为此,我试图根据最近的两位数字来存放价格。我将如何根据WHERE子句中的最后两个数字进行过滤?我想过滤价格以.99(.25,50,.75,。%0等)结束。

通常要通过"最后数字"过滤,将使用Modulo Operator %,即司机的其余部分。

对于整数而言,其含义很清楚:123 % 100 = 23123 % 10 = 3。对于任何x是整数x % 1 = 0(因为任何整数都可以由1分开)

似乎在红移中也适用于小数:

select 123.99 % 1 as cents;

美分

0.99

因此,select price from table where price % 1 = 0.99应该以.99结尾的所有价格返回您,我们可以轻松验证:

with prices as (
  select 9.99 as price union 
  select 9.43 union
  select 0.99 union 
  select 2
)
select * 
from prices
where price % 1 = 0.99;

产生

price
9.99
0.99

相关内容

最新更新