簡體   English   中英

從數據庫中獲取長值

[英]Fetching long value from Database

我的數據庫包含一個字段ARR_ID ,其數據類型為NUMBER(20)

值是= 100013085001

一些Java應用程序正在獲取此值,並且他們使用Integer作為數據類型來獲取該值。

在其應用程序的輸出中,該值顯示為1228837193

我不知道如何在Java中轉換此值? 當數據太大而無法包含在數據類型中時,會發生什么? 在這種情況下,應用程序不應該拋出錯誤嗎?

這取決於您使用的SQL驅動程序。 我在使用SQLite驅動程序時看到了您所描述的情況。 我也有點擔心,並檢查了消息來源。 數據類型由列中的值確定。 如果它不適合Integer則使用Long

我不記得這是如何工作的一個集合。 您可能需要檢查正在使用的驅動程序的源代碼(如果它也是開源的)。

如果您使用JDBC,然后使用20位整數(例如12345678901234567890),則程序將在列'1'中拋出com.mysql.jdbc.exceptions.jdbc4.MySQLDataException:'1.2345678901234567E19'超出數據類型INTEGER的有效范圍。 看來您使用的是我沒有的Oracle,這是針對mysql的,您可以自己嘗試。

暫無
暫無

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

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