LENGTH( 文字列 )
LENGTH関数を使用することで文字列のバイト数を調べることができます。
mysql> -- 以下は Shift JIS で実行した場合 mysql> SELECT LENGTH( 'あいうえお' ); +------------------------+ | LENGTH( 'あいうえお' ) | +------------------------+ | 10 | +------------------------+ 1 row in set (0.00 sec) mysql> SELECT LENGTH( 'あいうえおabcde' ); +-----------------------------+ | LENGTH( 'あいうえおabcde' ) | +-----------------------------+ | 15 | +-----------------------------+
引数にNULLを指定した場合はNULLが返されます。
mysql> SELECT LENGTH( NULL ); +----------------+ | LENGTH( NULL ) | +----------------+ | NULL | +----------------+ 1 row in set (0.00 sec)
引数に数値を指定した場合は文字列として扱われます。
mysql> SELECT LENGTH( 12345 ); +-----------------+ | LENGTH( 12345 ) | +-----------------+ | 5 | +-----------------+ 1 row in set (0.00 sec)
文字列の文字数をカウントする場合はCHAR_LENGTH関数を使用します。
文字列のビット数をカウントする場合はBIT_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)