我使用的是 11.2 版本,并且在表字段中没有直接支持 uint64。你建议在性能方面做什么?它必须是主键。
谢谢
可能将其转换为字符,然后将其作为字符插入,并带有 to_number 以将其放入正确的格式?
我对 Oracle 一无所知,但 MS SQL 也同样受到困扰,我最终将我的 64 位无符号整数存储在 binary(8) 字段中。如果 Oracle 有类似的字段上限(我无法想象它没有),也许同样适用于您。
SQL Server 的结果是将 binary(n) 字段与其他 binary(n) 字段进行比较,有效地比较为字节数组,如果大小相同,则意味着它们也作为大端表示进行比较(如果这是您存储它们的方式,你会疯掉的)。
对不起,我不精通甲骨文。必须与带来你的人共舞 =)
我正在使用 RAW(8) 数据类型,并用以下方式编写它:
uint64 i;
Bytes key((unsigned char*)&i, 8);
statement->setBytes(1, key);
快速而紧凑,并且似乎运行良好。
您可以使用 number(20,0) 作为 64 位整数,最大值为 18,446,744,073,709,551,615。
使用数字类型也可以进行数学运算。