簡體   English   中英

"使用 OCCI 在 Oracle Database 11g 中存儲無符號 64 位整數的最佳方法"

[英]Best way to store an unsigned 64 bit integer in Oracle Database 11g using OCCI

我使用的是 11.2 版本,並且在表字段中沒有直接支持 uint64。 你建議在性能方面做什么? 它必須是主鍵。

謝謝

可能將它轉換為char,然后將其作為char插入,使用to_number將其插入正確的格式?

我對Oracle一無所知,但MS SQL也受到類似的困擾,最后我將我的64位無符號整數存儲在二進制(8)字段中。 如果Oracle有類似的字段上限(我無法想象它沒有),也許同樣適合你。

SQL Server上的結果是二進制(n)字段與其他二進制(n)字段進行比較,有效地比較為字節數組,如果大小相同,則意味着它們也會比較為大端表示(如果存儲它們的方式) ,你會堅持不去)。

對不起我不熟悉甲骨文。 要帶一個帶ya =)的舞蹈

我正在使用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。
使用數字類型也可以進行數學運算。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM