📅  最后修改于: 2023-12-03 14:45:34.103000             🧑  作者: Mango
在Postgres中,我们可以使用CAST
和CONVERT
函数将文本转换为数字。
CAST
函数用于将一个数据类型转换为另一个数据类型。以下是将文本转换为数字的示例:
SELECT CAST('1234' AS INTEGER);
该查询将返回一个整数类型的数字:1234
。我们也可以使用DOUBLE PRECISION
或DECIMAL
等数据类型。
SELECT CAST('3.14' AS DOUBLE PRECISION);
这将返回一个带有浮点值的数字:3.14
。
SELECT CAST('12345678901234567890.123456789' AS DECIMAL);
这将返回一个高精度数字:"12345678901234567890.123456789"。
CONVERT
函数在Postgres中不是内置函数,但是我们可以使用regexp_replace
函数来模拟该函数。以下是将文本转换为数字的示例:
SELECT regexp_replace('1,234.56', '\.|,', '', 'g')::INTEGER;
这将返回整数类型的数字:1234
。
SELECT regexp_replace('123.456', ',', '.', 'g')::DOUBLE PRECISION;
这将返回带有浮点值的数字:123.456
。
SELECT regexp_replace('12,345,678.901', ',', '', 'g')::DECIMAL;
这将返回一个高精度数字:"12345678.901"。
在使用CONVERT
函数时,请注意替换字符的顺序和使用正则表达式的必要性。
以上是将文本转换为数字的实际示例。在Postgres中,有许多内置函数和操作符可用于处理数字和文本数据类型。