postgresql postgres中的int128或16字节整数

b1zrtrql  于 2023-11-18  发布在  PostgreSQL
关注(0)|答案(1)|浏览(207)

有没有一种方法可以在postgresI中声明类型为unsigned int128的整数我需要能够摄取/表示16字节的整数。
我看到它有a .h file,但没有看到任何实现示例

31moq8wy

31moq8wy1#

您可以使用DECIMAL类型存储128位整数。
举例来说:

create table t (p int , value decimal(39),
  check (value between -170141183460469231731687303715884105728::decimal(39)
                   and  170141183460469231731687303715884105727::decimal(39))
  );

字符串
测试结果:

p                                     value  
 ----- ----------------------------------------- 
   15                                     32768  
   16                                     65536  
   31                                2147483648  
   32                                4294967296  
   63                       9223372036854775808  
   64                      18446744073709551616  
  127   170141183460469231731687303715884105727


请参见db<>fiddle上的运行示例。
请注意,最后一次插入失败,因为该值超出128位精度一个单位。

相关问题