みんなの為のMySQLまとめ(11)


参考
http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/mysql_14.htm

■文字列連結

・文字列結合は concat() を使用する。

select concat(123456, 789012);
select concat('123456', 789012);
select concat('123456', '789012');

select concat(key1, data1) from testm;

■小文字化

・lower() 関数は、英字を小文字にして返す。

select lower('ABC012');

■大文字化

・upper() 関数は、英字を大文字にして返す。

select upper('abc012');

■左文字埋め

・lpad() 関数は、文字列の左に指定文字を埋めて指定数切り出します。
(切り出し指定数になるまで繰り返し埋めます。)

select lpad('abc', 6, '0');

select lpad('abc', 5, '012');

・指定文字省略値はないようで、指定しないとエラーになる。

select lpad('abc', 5, ' ');

■右文字埋め

・rpad() 関数は、文字列の右に指定文字を埋めて指定数切り出します。
(切り出し指定数になるまで繰り返し埋めます。)

select rpad('abc', 5, '0');

・指定文字省略値はないようで、指定しないとエラーになる。

select rpad('abc', 5, ' ');

■左空白削除

・ltrim() 関数は、文字列の左側の空白を除去します。

select ltrim('          abc');

■右空白削除

・rtrim() 関数は、文字列の右側の空白を除去します。

select ltrim('abc          ');

■左右空白削除

・trim() 関数は、文字列の左右の空白を除去します。

select trim('          abc          ');

■文字列置き換え

・replace() 関数は、文字列の置き換えをする。
「a0a1a2」中の a0 を b1 に置き換える場合、次のようにします。

select replace('a0a1a2', 'a0', 'b1');

■文字列切り出し

・substring() 関数は、文字列の切り出しをする。

select substring('abc012', 3, 3);

・開始位置以降、最後まで切り出す場合は、切り出す文字数を省略できる。

select substring('abc012', 3);

■文字列検索

・locate() 関数は、文字列の検索を行う。

select locate('01', 'abc012');

select locate('c0', 'abc012c0', 4);

■文字列の長さ

・length() 関数は、文字列の長さを返す。

select length('abc012');

■文字列繰り返し

・repeat() 関数は、文字列を繰り返し返す。

select repeat('abc012', 3);

■数値から文字列へ変換 (数値フォーマット、書式変換)

・文字列としての結合は concat() を使用する。

select concat(123456, 789012);
select concat('123456', 789012);
select concat('123456', '789012');

・三桁毎にカンマを付けるには、次のようにする。

select format(123456, 0);

■文字列から数値へ変換

・自動でしてくれます。

select '0123' + 100;
select '0123' + '100';