zoukankan      html  css  js  c++  java
  • 让一个字段值末尾依次增长加1,SQL查询及逻辑处理。

        我遇到的这个问题时,思路没有想好,到最后写到一半了 ,才发现写错了。回家时在电梯里想了一下,顿时来了灵感。

    思路:

        我根据我做项目的思路来写。首先是我需要让某一个字段值的末尾依次增长加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     }

        当然不一定是三位的  也可以以此类推往后增加 看需求。方法应该有很多种,想到了这一种就记录了下来。

  • 相关阅读:
    洛谷
    洛谷
    洛谷
    模板
    洛谷
    洛谷
    Codeforces Round #561 (Div. 2) E. The LCMs Must be Large(数学)
    Codeforces Round #561 (Div. 2)
    Mail.Ru Cup 2018 Round 2 C. Lucky Days(拓展欧几里得)
    The 10th Shandong Provincial Collegiate Programming Contest H.Tokens on the Segments(贪心+优先级队列 or 贪心+暴力)
  • 原文地址:https://www.cnblogs.com/Xtudou/p/9272410.html
Copyright © 2011-2022 走看看