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

MariaDBでのBIT_LENGTH()のしくみ

    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'

    1. MySQLのLIMIT句で変数を使用する

    2. MariaDB RTRIM()とRTRIM_ORACLE():違いは何ですか?

    3. MySQLDumper:PHPおよびPerlベースのMySQLデータベースバックアップツール

    4. Oracle PL / SQL-単純な配列変数を作成する方法は?