在postgresql中将float解析为int
Parse float to int in postgresql
我在 postgresql 数据库中有一组数据,其中其中一列以浮点格式存储字符串数据,但现在我需要删除字符串的小数部分。我如何在我的 BD 控制台中使用 sql update 语句来执行此操作?这可能吗?
例如:
"25.3" -> "25"
如果不可能,我该怎么做?
提前致谢。
由于是字符串,可以使用字符串函数去掉小数点后的数字。
如果您不想将它们四舍五入,只需删除小数部分然后使用 -
update table_name
set column_name = substring(column_name from 1 for position('.' in column_name)-1);
如果你想四舍五入,那么你可以使用 @mlinth 提到的演员表。
您更适合将文本列转换为数字或整数,以便考虑到舍入,例如
SELECT '25.3'::numeric::integer AS num1, '25.5'::numeric::integer AS num2
这将分别 return 25 和 26 的整数。
如果您不关心点后面的数字,floor(column_name::numeric)::integer
函数或子字符串(如前所述)应该没问题。
我在 postgresql 数据库中有一组数据,其中其中一列以浮点格式存储字符串数据,但现在我需要删除字符串的小数部分。我如何在我的 BD 控制台中使用 sql update 语句来执行此操作?这可能吗?
例如:
"25.3" -> "25"
如果不可能,我该怎么做? 提前致谢。
由于是字符串,可以使用字符串函数去掉小数点后的数字。 如果您不想将它们四舍五入,只需删除小数部分然后使用 -
update table_name
set column_name = substring(column_name from 1 for position('.' in column_name)-1);
如果你想四舍五入,那么你可以使用 @mlinth 提到的演员表。
您更适合将文本列转换为数字或整数,以便考虑到舍入,例如
SELECT '25.3'::numeric::integer AS num1, '25.5'::numeric::integer AS num2
这将分别 return 25 和 26 的整数。
如果您不关心点后面的数字,floor(column_name::numeric)::integer
函数或子字符串(如前所述)应该没问题。