MariaDBでは、OCTET_LENGTH()
オクテット(バイト)で測定された、指定された文字列引数の長さを返す組み込みの文字列関数です。
OCTET_LENGTH()
LENGTHB()
の同義語です 。
LENGTH()
の同義語でもあります Oracleモードでない場合(LENGTH()
Oracleモードでは動作が異なります。
構文
構文は次のようになります:
OCTET_LENGTH(str)
str
長さが返される文字列です。
例
基本的な例は次のとおりです。
SELECT OCTET_LENGTH('café');
結果:
+-----------------------+ | OCTET_LENGTH('café') | +-----------------------+ | 5 | +-----------------------+
この場合、文字列の長さは4文字でしたが、OCTET_LENGTH()
返された5
。これは、最後の文字が2オクテット/バイトを使用しているためです。
CHAR_LENGTH()
との比較 およびBIT_LENGTH()
OCTET_LENGTH()
の簡単な比較を次に示します。 、CHAR_LENGTH()
(これは文字の数を返します 文字列内)およびBIT_LENGTH()
(ビット数を返します 文字列内):
SELECT
OCTET_LENGTH('อ'),
CHAR_LENGTH('อ'),
BIT_LENGTH('อ');
結果:
+---------------------+--------------------+-------------------+ | OCTET_LENGTH('อ') | CHAR_LENGTH('อ') | BIT_LENGTH('อ') | +---------------------+--------------------+-------------------+ | 3 | 1 | 24 | +---------------------+--------------------+-------------------+
このタイ文字(อ
)は3バイトを使用するため、OCTET_LENGTH()
3
を返します 。
CHAR_LENGTH()
文字数を返します(1
)、およびBIT_LENGTH()
ビット数を返します(24
。
非文字列
引数が文字列でない場合は、文字列に変換されます。
数字を使用する別の例を次に示します。
SELECT OCTET_LENGTH(1234);
結果:
+--------------------+ | OCTET_LENGTH(1234) | +--------------------+ | 4 | +--------------------+
ヌル引数
null
を渡す null
を返します :
SELECT OCTET_LENGTH(null);
結果:
+--------------------+ | OCTET_LENGTH(null) | +--------------------+ | NULL | +--------------------+
引数がありません
OCTET_LENGTH()
を呼び出す 引数を渡さないとエラーが発生します:
SELECT OCTET_LENGTH();
結果:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'OCTET_LENGTH'