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