簡體   English   中英

如何從列表中分配數字-JDBC JAVA SQL

[英]How to get assign a number from a list - JDBC JAVA SQL

我在數據庫中遇到麻煩,我想從一系列庫存中選擇(不是主鍵)並將其分配給系統中的用戶。

例如,我有一個名為stockCodes的字段,其中包含諸如CAB001-CAB100之類的代碼。 這不是主鍵,而主鍵實際上是stockID。

桌子看起來像這樣...

ID | Stock Codes
--------------------
1  | CAB001-CAB100
2  | CBA100-CBA200

現在,我該如何分解股票代碼,以便在Java中獲得像這樣的列表...

CAB001

CAB002

CAB003

CAB004

CAB005

...

請幫忙。

您將不得不解析文本-它們是否始終遵循相同的格式,即3個字母和3個數字? 如果是這樣,則可以執行以下操作:

/**
 * Populate a full list of stocks from a given range
 * 
 * @param stockRange the stock range pulled from the DB, in this format: "XXX###-XXX###"
 * @return list of all stocks in the specified range
 */
public List<String> getFullStockRange(final String stockRange) {
    final String[] values = stockRange.split("-"); 
    final Integer first = Integer.parseInt(values[0].substring(3));
    final Integer last = Integer.parseInt(values[1].substring(3));
    final String prefix = values[0].substring(0, 3);

    final List<String> list = new LinkedList<>();

    for (int i = first; i<= last; i++) {
        final String entry = String.format("%s%03d", prefix, i);
        list.add(entry);
    }

    return list;
}

暫無
暫無

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

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