mysql 前綴 + 編號 補0


拼接字符串: CONCAT('PAS',LPAD(partition_id,4,0))

填充字符串左邊:LPAD

  LPAD(str,len,padstr)
  返回字符串str,將其左填充字符串padstr至len個字符的長度。 如果str大於len,則返回值縮短為len個字符。

填充字符串右邊:RPAD

  RPAD(str,len,padstr)
  返回字符串str,用padstr右填充字符串,長度為len個字符。 如果str大於len,則返回值縮短為len個字符

1、根據前傳 + 主鍵長度補0

update pf_partition_management set partition_no=CONCAT('PAS',LPAD(partition_id,4,0)) WHERE partition_no=''

2、如果前綴 + 主鍵長度大於4,取主鍵長度補0,否則為4的長度

update pf_partition_management set partition_no=CONCAT('PRE',LPAD(partition_id,(case when LENGTH(partition_id)>4 then LENGTH(partition_id) else 4 end),0)) WHERE partition_no=''

3、JAVA代碼前綴補0:

    /**
     * 根據前綴和id,生成新的編號
     *
     * @param prefix 前綴
     * @param id     ID
     * @return
     */
    public static String getSerialNumber(String prefix, Long id) {
        return prefix + String.format("%04d", id);
    }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM