我希望在特定表格中的某列不會得到負數。 有沒有辦法在derby DB中聲明一個unsigned int?Java - derby - unsigned int
回答
問:有沒有辦法在Derby DB表中聲明一列「unsigned int」?
答:我相信答案是 「否」:
http://db.apache.org/derby/docs/10.0/manuals/reference/sqlj124.html
http://db.apache.org/derby/docs/10.0/manuals/reference/sqlj124.html
... ...但是...
你應該很容易能夠在任何查詢中「CAST」存儲的值:
答案是否定的。 Java(不幸的是)不支持unsigned算術。
但是你仍然可以使用Java的int
,並使你自己的方法做無符號算術,如this。更好的辦法是創建一個UnsignedInteger
類,讓它處理所有的算術運算。
雖然我不知道它是否值得。你可以像jtahlborn建議的那樣使用long
。
等價地,即使是32位的值(例如0xffffffff)也可以在您的查詢中'cast'到相應的unsigned int – paulsm4
Guava有一個幫助類已經爲您寫了:[UnsignedInts](http://docs.guava- libraries.googlecode.com/git-history/release/javadoc/com/google/common/primitives/UnsignedInts.html)。 – yshavit
@Onca - 我不知道他們爲什麼喋喋不休地說「Java Unsigned」和「Guava」。你問的問題是「我如何將它存儲在Derby DB中」?建議#1:「將它存儲爲一個有符號的32位int」(在這種情況下,Guava UnsignedInts可能適用 - 但我相信DerbyDB「cast()」可能更好!)。建議#2:將其存儲爲「長」(如jtalkborn建議)。 – paulsm4
- 1. 調用'(std :: pair <unsigned int,unsigned int>)(unsigned int&,unsigned int)'
- 2. encoding unsigned int
- 3. ByteBuffer解析unsigned int
- 4. 負unsigned int?
- 5. DWORD和unsigned int
- 6. unsigned long long int
- 7. modulo with unsigned int
- 8. signed/unsigned int
- 9. long unsigned int和unsigned long int有什麼區別int
- 10. Compare int和unsigned int類型
- 11. 將int轉換爲unsigned short java
- 12. 在Java中使用Unsigned int 32位?
- 13. 32位unsigned int php
- 14. JavaScript Max unsigned int 32?
- 15. unsigned long long VS unsigned long long int
- 16. C/C++:如何正確地將「unsigned int *」值轉換爲「unsigned int」?
- 17. '*(unsigned int *)((unsigned int)block + n * i)是什麼意思'
- 18. unsigned int *改變目標的賦值unsigned int
- 19. 錯誤:沒有匹配函數調用'min(long unsigned int&,unsigned int&)'
- 20. 在int中將int寫入unsigned char *
- 21. typedef _W64 unsigned int UINT_PTR,* PUINT_PTR;
- 22. unsigned int/long如何表示
- 23. unsigned _stdcall ....隱含一個int?
- 24. Cocos2d unsigned int無處不在
- 25. 「unsigned int」打印爲負數?
- 26. 存儲在unsigned int類型
- 27. 將unsigned short *轉換爲int *
- 28. 從'uint64_t'轉換爲'unsigned int'
- 29. Arduino unsigned long int to char *
- 30. 有無符號和unsigned int
你可以使用'長'。 – jtahlborn