如何计算 SQL Teradata 中具有舍入值的行?
How to count rows with rounded valus in SQL Teradata?
我在 SQL Teradata 工作。
我想计算一下有多少行(客户)在“金额”列中有四舍五入的值(例如 140.00 不是 157.76 等等)。我使用如下代码:
select
client_id,
count(amount mod 1 = 0)
from table
group by client_id
然而,我有一个错误,如:SELECT Failed. 3706: Syntax error: expected something between an integer and '='.
我能做什么?
使用case
表达式:
sum(case when amount mod 1 = 0 then 1 else 0 end)
我不能 100% 确定 Teradata 是否支持 mod 1
。我通常会这样写:
sum(case when amount = floor(amount) then 1 else 0 end)
我在 SQL Teradata 工作。
我想计算一下有多少行(客户)在“金额”列中有四舍五入的值(例如 140.00 不是 157.76 等等)。我使用如下代码:
select
client_id,
count(amount mod 1 = 0)
from table
group by client_id
然而,我有一个错误,如:SELECT Failed. 3706: Syntax error: expected something between an integer and '='.
我能做什么?
使用case
表达式:
sum(case when amount mod 1 = 0 then 1 else 0 end)
我不能 100% 确定 Teradata 是否支持 mod 1
。我通常会这样写:
sum(case when amount = floor(amount) then 1 else 0 end)