我需要使用PostgreSQL将Double Precision的值转换为Bigint。我该怎么做?

我尝试过使用to_bigint(myvalue),但该功能不存在。

#1 楼

在Postgres中有两种类型转换的方法:

您可以使用SQL标准方法:

select cast(3.141593 as bigint);


,也可以使用Postgres-特定的转换运算符:::

select (3.141593 :: bigint);


您可能还需要考虑各种舍入函数。

评论


@eevar只是文档中的注释,舍入函数的返回类型是“与输入相同”,因此,如果该类型很重要,则需要强制转换。

–shortstuffsushi
15年8月19日在21:34

看起来CAST实际上可以四舍五入

–安德鲁·沃尔夫(Andrew Wolfe)
16 Mar 17 '16 at 19:34

SELECT 4.7 :: int时有没有适用哪个功能的文档?

– Eugen Konkov
20 Mar 6 '20 at 12:09