1桁の場合、英数字の文字列にゼロを追加したいと思います。
私が持っているのは次のようなものです:
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
1桁の場合、英数字の文字列にゼロを追加したいと思います。
私が持っているのは次のようなものです:
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
すべての値がwhereの形式であり、最大 3 文字の文字列であると仮定すると、a
を使用して文字列を部分に分割し、各部分を個別に使用して、それらをすべて元に戻すことができます。b
c
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です。