1
幾個月前,我似乎遇到了一個覆蓋此問題的SO問題,但我現在似乎無法找到它。在PostgreSQL中更改某個數據類型的表中的所有列9.6
基本上,我想做兩件事。
首先,一些表格製作了幾列numeric(20,2)
,我想將它們全部更改爲numeric
。這個陳述對於一列是足夠簡單的:
ALTER TABLE table_name
ALTER COLUMN code
TYPE numeric;
注意到這一點。
其次,在這些列我想刪除任何尾隨零:搞清楚
UPDATE table_name
SET code = replace(replace(code::text, '.50', '.5'), '.00', '')::numeric;
有困難如何自動運行它,所以我只需要指定表,它會清理桌子。很確定這是可能的。
在數值數據類型中不存在類似於「尾隨零」的類似... – Abelisto
'select cast('1234.50'as numeric);'將顯示尾隨零,而'select cast(cast(cast(' 1234.50'as numeric)as double precision)as numeric;)將顯示沒有結尾的零。 –
啊,是的,我明白了。老實說,對我來說,'numeric'類型單獨保存每個值的初始精度是令人驚訝的。謝謝你指點我。 – Abelisto