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