【发布时间】:2021-10-24 01:00:11
【问题描述】:
表中的持续时间列以“varchar”数据类型给出。它包含十进制值。所以我试图将 varchar 转换为浮点/数字/十进制/双精度/双精度。但这些都不起作用。为什么它不起作用?
选择runner_id,
sum(cast(duration as decimal) '' then 1 的情况
else 0 end) 已交付,count(order_id) as total_orders
来自 t_runner_orders
按 runner_id 分组
【问题讨论】:
-
如果你所做的只是检查它是否为空,为什么你需要将它转换为十进制!?
-
“但这些都不起作用”到底是什么意思。有没有错误!?如果是这样,那么什么样的错误?
-
不检查 null 是一种。在我的情况下,我需要对持续时间列进行计算。我收到一个错误:数字类型的输入语法无效。
标签: sql postgresql types