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'