文字列のバイト数を調べる (LENGTH) | Dantivのブログ

Dantivのブログ

ブログの説明を入力します。

テーマ:
書式
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)