文字列の桁数を揃える
文字列の長さを左揃えで統一する
文字列の長さを左揃えで統一するには、RPADを使用します。
RPAD(文字列, 揃える桁数, 空白を埋める文字)
それではサンプルを見てみましょう。
以下のようなmemberテーブルがあります。
id | name |
---|---|
1 | 荒木太郎 |
2 | WOODS |
3 | TONY BLANCO |
name列の文字列長を10バイトとし、10バイトに満たない場合は文字列の右側を”0″で埋めるSQLです。
1 |
SELECT RPAD(name, 10, '0') FROM member; |
上記を実行し、抽出された結果がこちらです。
name |
---|
荒木太郎00 |
WOODS00000 |
TONY BLANC |
name列の文字列を10バイトに統一し抽出されました。
この際、3行目のように10バイトを超過した分の文字は切り捨てられます。
文字列の長さを右揃えで統一する
文字列の長さを右揃えで統一するには、LPADを使用します。
LPAD(文字列, 揃える桁数, 空白を埋める文字)
それではサンプルを見てみましょう。
以下のようなmemberテーブルがあります。
id | name |
---|---|
1 | 荒木太郎 |
2 | WOODS |
3 | TONY BLANCO |
name列の文字列長を10バイトとし、10バイトに満たない場合は文字列の左側を”0″で埋めるSQLです。
1 |
SELECT LPAD(name, 10, '0') FROM member; |
上記を実行し、抽出された結果がこちらです。
name |
---|
00荒木太郎 |
00000WOODS |
TONY BLANC |
name列の文字列を10バイトに統一し抽出されました。
ここで注意すべき点は、LPADの場合、指定したバイト数を超過した場合は左から数えて指定バイト数分を残し、溢れた分を切り捨てるという点です。
抽出結果を見てもわかる通り、3行目は右から数えて10桁である”ONY BLANCO”ではなく、左から数えて10桁である”TONY BLANC”となっています。
以上が、文字列の桁数を揃える関数「RPAD・LPAD」の使い方です。
ぜひ参考にしてみてください。