不行的在Netezza公司,当我查询为什么BIGINT/INT在Netezza公司
SELECT 2147483648:: BIGINT
我得到的结果2147483647 - 这比我放在数少一个
当我查询
SELECT 2147483648:: INTEGER
我得到 “错误:pg_atoi:错误阅读 ”2147483648“:数值结果超出范围”
为什么日在?
不行的在Netezza公司,当我查询为什么BIGINT/INT在Netezza公司
SELECT 2147483648:: BIGINT
我得到的结果2147483647 - 这比我放在数少一个
当我查询
SELECT 2147483648:: INTEGER
我得到 “错误:pg_atoi:错误阅读 ”2147483648“:数值结果超出范围”
为什么日在?
的CAST用于该值的BIGINT应该工作得很好:
TESTDB.ADMIN(ADMIN)=> SELECT 2147483648::BIGINT;
?COLUMN?
------------
2147483648
(1 row)
,因为该值是2147483648允许整数数据类型(2,147,483,648到2,147,483,647)的边界之外的强制转换为整数失败,which is documented here。
TESTDB.ADMIN(ADMIN)=> SELECT 2147483648::INTEGER;
ERROR: pg_atoi: error reading "2147483648": Numerical result out of range
我应该更多关注INTEGER的数据类型文档。但是,BIGINT仍然没有工作.... – LearningSQL
提供选择VERSION()和show是实际的输出和你的CAST BIGINT – ScottMcG
我不确定你的意思是“select VERSION()”,所以我是假设我想输入“SELECT VERSION(2147483648)”?如果是这样,我得到一个错误: “错误:函数‘版本(INT8)’不存在 无法确定满足 您可能需要增加明确的类型转换给定的参数类型的函数” 通过谢谢帮助你的方式! – LearningSQL
我手上没有Netezza,但两个版本都在Postgres中工作。 –