sql - 当小数点前的数字为0时如何删除小数位
问题描述
我试图从某些值中删除小数位
例如,我当前的代码是
select po_id, AVG(price*quantity) * count(*) AS 'Total Cost'
from po_items natural join items
group by po_id;
这是我得到的输出
po_id Total Cost
---------- ----------
AAA 2217.5
BBB 255.0
CCC 5787.5
DDD 10000.0
GGG 1000.0
我试图得到的输出是
po_id Total Cost
---------- ----------
AAA 2217.5
BBB 255
CCC 5787.5
DDD 10000
GGG 1000
解决方案
好的,如下:
sqlite> select cost from my_table;
2217.5
255.0
5787.5
10000.0
1000.0
sqlite> select replace(cast(cost as string),'.0','') from my_table;
2217.5
255
5787.5
10000
1000
您的完整 SQL 可能是:
select
po_id,
replace(cast(avg(price*quantity)*count(1) as string),'.0','') as 'Total Cost'
from
po_items
join
items
group by
po_id;
推荐阅读
- verilog - 如何理解verilog中的阻塞和非阻塞语句?
- r - 使用 purrr 堆叠嵌套的数据帧列表
- python - 使用 datetime.strftime 并使用 timedelta 将其导出
- python - 重新排序整数的数字
- javascript - React 路由器渲染两个子组件而不是一个
- java - 如何在方法之前和之后从带有参数的函数在方言上注册函数?
- c# - 使用资源更改 Web 表单母版页上的控制文本
- bash - 如何在脚本中使用 getopts 将单独目录中文件的行附加到新文件?
- c# - 从 Azure 表存储中获取 1000 多个数据集
- arrays - 根据阈值将不同的乘数应用于整数