1
如果是一位數字,我想將零加到字母數字字符串中。sql中的零填充字母數字字符串
我有什麼是一樣的東西:
CV-1-1A
CV-1-32
CV-12-24
CV-1-2
CV-1-2A
,我想將它更改爲:
CV-01-01A
CV-01-32
CV-12-24
CV-01-02
CV-01-02A
如果是一位數字,我想將零加到字母數字字符串中。sql中的零填充字母數字字符串
我有什麼是一樣的東西:
CV-1-1A
CV-1-32
CV-12-24
CV-1-2
CV-1-2A
,我想將它更改爲:
CV-01-01A
CV-01-32
CV-12-24
CV-01-02
CV-01-02A
LPAD
可用於零墊(或襯墊與任何字符,就此而言)的字符串。 但是,它不能在一個字符串內工作,所以需要一些技巧。 假設所有你的價值觀有a-b-c
的格式,其中a
,b
和c
都是字符串最多3個字符,你可以使用SUBSTRING_INDEX
到了打破串入部分,LPAD
各部分單獨,並使用CONCAT
,把它們放在一起回來:
SELECT CONCAT(SUBSTRING_INDEX(col, '-', 1),
'-',
LPAD(SUBSTRING_INDEX(SUBSTRING_INDEX(col, '-', 2), '-', -1), 2, '0'),
'-',
LPAD(SUBSTRING_INDEX(col, '-', -1), 3, '0'))
FROM t;
這是一個SQLFiddle與一個工作的例子。