我遇到的這個問題時,思路沒有想好,到最后寫到一半了 ,才發現寫錯了。回家時在電梯里想了一下,頓時來了靈感。
思路:
我根據我做項目的思路來寫。首先是我需要讓某一個字段值的末尾依次增長加1,並把值給另一個字段(也可以還給自己本身)。那么第一步就是要獲取這個字段的值,第二步就是要查詢出這個字段本身的最大值,第三步判斷查詢數據結果值,值如果為零則后面加1,不為零則判斷是否大於10,或者是否大於100。
1.獲取值:
獲取所需要在哪一個值后面增加值。
2.SQL查詢語句:
SELECT MAX(TO_NUMBER(SubStr(T.字段名,保留的幾位數)+1)) as TASK FROM 表名;
注:所保留的數 可以寫為負數 比如-3 列:123456223 結果為:224 結果加1
那么現在查詢出來的值是數值類型。接收所查詢出來的值 TASK int 類型接收。
3.邏輯判斷:
1 String Data=""; 2 3 if(count>0)//查詢有數據 4 5 { 7 if(TASK<10)//末尾的結果至是否大於10 9 { 11 if(TASK.ToString()=="0")//如果是0 那么代表第一次增加 后面增加001 否則加上查詢的值(因為小於10) 12 13 { 15 Data=獲取的值+“001”; 16 17 }else 18 19 { 20 21 Data=獲取的值+ "00"+TASK.Tostring(); 23 } 25 } 26 27 else if(TASK>=10&&TASK<99)//代表兩位數 十位數上不能再是0 28 29 { 31 Data=獲取的值+ "0"+TASK.Tostring(); 33 } 34 35 else if(TASK>=100&&TASK<999)//百位上不能再是0 36 37 { 39 Data=獲取的值+TASK.Tostring(); 41 } 42 43 else 44 45 { 46 47 Message="上限最大值是999" 48 49 } 50 51 }
當然不一定是三位的 也可以以此類推往后增加 看需求。方法應該有很多種,想到了這一種就記錄了下來。