拼接字符串: 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);
}
