📜  postgres 将文本转换为数字 - SQL (1)

📅  最后修改于: 2023-12-03 14:45:34.103000             🧑  作者: Mango

Postgres将文本转换为数字 - SQL

在Postgres中,我们可以使用CASTCONVERT函数将文本转换为数字。

CAST函数

CAST函数用于将一个数据类型转换为另一个数据类型。以下是将文本转换为数字的示例:

SELECT CAST('1234' AS INTEGER);

该查询将返回一个整数类型的数字:1234。我们也可以使用DOUBLE PRECISIONDECIMAL等数据类型。

SELECT CAST('3.14' AS DOUBLE PRECISION);

这将返回一个带有浮点值的数字:3.14

SELECT CAST('12345678901234567890.123456789' AS DECIMAL);

这将返回一个高精度数字:"12345678901234567890.123456789"。

CONVERT函数

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中,有许多内置函数和操作符可用于处理数字和文本数据类型。