[英]db2: how to remove the decimal from number column?
一個非常簡單的查詢
select avg(price) from cars where type = 'electric';
結果是
1
---------------------------------
45000,00000000000
我想刪除 ,00000000000 以獲得
1
---------------------------------
45000
我嘗試過投射和圓形但沒有成功。 我在 Db2 上
這個不錯的 ltrim 適用於所有類型的汽車
select replace(ltrim(replace(price,'0',' ')),' ','0') from cars;
但是使用 with avg 返回帶有 00000 的字符串
select replace(ltrim(replace(avg(price),'0',' ')),' ','0') from cars where type = 'electric';
結果是..
45000.00000000000
:( 只有 , 被改變了。
cast
荷蘭國際集團這個值應該只是工作:
select cast(avg(price) as int) as avg_int
from cars
where type = 'electric';
正如另一個答案所建議的那樣,將其轉換為整數將起作用。
但是,請記住,
您可以通過在ROUND()
之后進行轉換來解決 #1
select int(round(avg(price),0)) as avg_int
from cars
where type = 'electric'
您可以通過使用DECIMAL()
或ZONED()
來解決 #2,根據原始列類型的比例為零。
select dec(avg(price),10,0) as avg_dec
from cars
where type = 'electric'
當然ROUND()
也可以與DECIMAL()
或ZONED()
......
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.