sql >> データベース >  >> RDS >> MariaDB

MariaDBでのOCTET_LENGTH()のしくみ

    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'

    1. フォローするトップデータベースブログ

    2. SQLServerでsysjobhistoryの日時と期間の列をフォーマットします

    3. Oracleシーケンストリガーの作成

    4. Mysql列を行に変換(ピボットテーブル)