書式
LENGTH( 文字列 )
LENGTH関数を使用することで文字列のバイト数を調べることができます。
例1(文字列のバイト数を調べる)
mysql> -- 以下は Shift JIS で実行した場合
mysql> SELECT LENGTH( 'あいうえお' );
+------------------------+
| LENGTH( 'あいうえお' ) |
+------------------------+
| 10 |
+------------------------+
1 row in set (0.00 sec)
mysql> SELECT LENGTH( 'あいうえおabcde' );
+-----------------------------+
| LENGTH( 'あいうえおabcde' ) |
+-----------------------------+
| 15 |
+-----------------------------+
引数にNULLを指定した場合はNULLが返されます。
例2(引数にNULLを指定した場合)
mysql> SELECT LENGTH( NULL );
+----------------+
| LENGTH( NULL ) |
+----------------+
| NULL |
+----------------+
1 row in set (0.00 sec)
引数に数値を指定した場合は文字列として扱われます。
例3(引数に数値を指定した場合)
mysql> SELECT LENGTH( 12345 );
+-----------------+
| LENGTH( 12345 ) |
+-----------------+
| 5 |
+-----------------+
1 row in set (0.00 sec)
文字列の文字数をカウントする場合はCHAR_LENGTH関数を使用します。
文字列のビット数をカウントする場合はBIT_LENGTH関数を使用します。
例4(LENGTH関数、CHAR_LENGTH関数、BIG_LENGTH関数の比較)
mysql> -- 以下は Shift JIS で実行した場合
mysql> SELECT LENGTH( 'MySQL関数リファレンス' );
+-----------------------------------+
| LENGTH( 'MySQL関数リファレンス' ) |
+-----------------------------------+
| 21 |
+-----------------------------------+
1 row in set (0.00 sec)
mysql> SELECT CHAR_LENGTH( 'MySQL関数リファレンス' );
+----------------------------------------+
| CHAR_LENGTH( 'MySQL関数リファレンス' ) |
+----------------------------------------+
| 13 |
+----------------------------------------+
1 row in set (0.00 sec)
mysql> SELECT BIT_LENGTH( 'MySQL関数リファレンス' );
+---------------------------------------+
| BIT_LENGTH( 'MySQL関数リファレンス' ) |
+---------------------------------------+
| 168 |
+---------------------------------------+
1 row in set (0.00 sec)

