我在postgresql数据库中有一组数据,其中一个列以浮点格式存储字符串数据,但现在我需要删除该字符串的小数部分。我如何在BD控制台中使用SQL更新语句来实现?这可能吗?
例如:
"25.3" -> "25"
如果不可能,我该怎么做呢?
提前感谢。我在postgresql数据库中有一组数据,其中一个列以浮点格式存储字符串数据,但现在我需要删除该字符串的小数部分。我如何在BD控制台中使用SQL更新语句来实现?这可能吗?
例如:
"25.3" -> "25"
如果不可能,我该怎么做呢?
提前感谢。SELECT '25.3'::numeric::integer AS num1, '25.5'::numeric::integer AS num2
这将分别返回整数25和26。
如果您不关心小数点后的数字,那么使用floor(column_name::numeric)::integer
函数或者如上所述的substring
也可以。
'25.5'::numeric::integer
保留为25? - DJoSELECT floor(25.5)::integer
。 - Lucas由于它是一个字符串,您可以使用字符串函数来删除小数点后的数字。如果您不想四舍五入,只需删除小数部分,然后使用 -
update table_name
set column_name = substring(column_name from 1 for position('.' in column_name)-1);