MariaDBでは、BIT_LENGTH()
は、指定された文字列引数の長さをビット単位で返す組み込みの文字列関数です。
関数を呼び出すときに、引数として文字列を指定します。
構文
構文は次のようになります:
BIT_LENGTH(str)
str
文字列です。
例
簡単な例を次に示します。
SELECT BIT_LENGTH('A');
結果:
+-----------------+ | BIT_LENGTH('A') | +-----------------+ | 8 | +-----------------+
文字Aの長さが8ビット(つまり1バイト)であることがわかります。
1バイトより長い文字を使用する例を次に示します。
SELECT
BIT_LENGTH('©'),
BIT_LENGTH('ไ'),
BIT_LENGTH('ม้');
結果:
+------------------+-------------------+----------------------+ | BIT_LENGTH('©') | BIT_LENGTH('ไ') | BIT_LENGTH('ม้') | +------------------+-------------------+----------------------+ | 16 | 24 | 48 | +------------------+-------------------+----------------------+
2番目と3番目の文字列はタイ文字です。 3番目の文字列は発音区別符号を使用します。これにより、返されるビット数が2倍になります。
発音区別符号のある文字とない文字は次のとおりです。
SELECT
BIT_LENGTH('ม้'),
BIT_LENGTH('ม');
結果:
+----------------------+-------------------+ | BIT_LENGTH('ม้') | BIT_LENGTH('ม') | +----------------------+-------------------+ | 48 | 24 | +----------------------+-------------------+
間違った引数タイプ
引数が文字列でない場合は、文字列に変換されます。
例:
SELECT
BIT_LENGTH(1),
BIT_LENGTH(12),
BIT_LENGTH(123);
結果:
+---------------+----------------+-----------------+ | BIT_LENGTH(1) | BIT_LENGTH(12) | BIT_LENGTH(123) | +---------------+----------------+-----------------+ | 8 | 16 | 24 | +---------------+----------------+-----------------+
ヌル引数
null
を渡す null
を返します :
SELECT BIT_LENGTH(null);
結果:
+------------------+ | BIT_LENGTH(null) | +------------------+ | NULL | +------------------+
引数がありません
BIT_LENGTH()
の呼び出し 引数を渡さないとエラーが発生します:
SELECT BIT_LENGTH();
結果:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'BIT_LENGTH'