Обычно для фильтрации по «последним цифрам» используется оператор по модулю %
, то есть остаток от деления.
Для целых чисел его значение ясно: 123 % 100 = 23
, 123 % 10 = 3
.Для любого x, являющегося целым числом x % 1 = 0
(поскольку любое целое число делится на 1)
И, похоже, в Redshift это работает и для десятичных чисел:
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