Amazon Redshift中的未签名字段?

Sal*_*ali 6 amazon-redshift

我一直在寻找一种使用无符号整数创建表的方法(我知道我只有正整数,所以为什么不将范围扩大两倍)。要创建一个整数字段,我要做:

create table funny_table(
    my_field bigint
);
Run Code Online (Sandbox Code Playgroud)

所以我以为使用my_field bigint unsigned可以解决我的问题,但是语法错误告诉我。尽管该文档没有提供有关无符号整数的任何信息。可能吗

Mas*_*aki 5

不幸的是,Amazon Redshift 不支持无符号整数。作为一种解决方法,我们使用numeric(20,0)bigint unsigned数据。这是一个例子。

create table funny_table(
    my_field numeric(20, 0)
);
insert into funny_table values ( 18446744073709551614 );
select * from funny_table;
       my_field
----------------------
 18446744073709551614
(1 row)
Run Code Online (Sandbox Code Playgroud)

有关数字类型的详细信息,请参见此处