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

MariaDBでのCHAR_LENGTH()のしくみ

    MariaDBでは、CHAR_LENGTH() は、指定された文字列引数の長さを文字数で返す組み込みの文字列関数です。

    構文

    構文は次のようになります:

    CHAR_LENGTH(str)

    str 長さが返される文字列です。

    基本的な例は次のとおりです。

    SELECT CHAR_LENGTH('Splash');

    結果:

    +-----------------------+
    | CHAR_LENGTH('Splash') |
    +-----------------------+
    |                     6 |
    +-----------------------+

    マルチバイト文字

    CHAR_LENGTH() 関数は、使用するバイト数に関係なく、各文字を1文字としてカウントします。したがって、2、3、または4バイトを使用する文字は、引き続き1文字としてカウントされます。

    これは、LENGTH()などの関数とは対照的です。 、バイト数を返します(Oracleモードの場合を除きます。この場合、CHAR_LENGTH()と同じように機能します。 –文字数を返します)。また、BIT_LENGTH()のような関数とは対照的です。 文字列のビット数を返します。

    これらの機能を比較する例を次に示します。

    SELECT 
        CHAR_LENGTH('©'),
        LENGTH('©'),
        BIT_LENGTH('©');

    結果:

    +-------------------+--------------+------------------+
    | CHAR_LENGTH('©')  | LENGTH('©')  | BIT_LENGTH('©')  |
    +-------------------+--------------+------------------+
    |                 1 |            2 |               16 |
    +-------------------+--------------+------------------+

    著作権記号(© )2バイトを使用します。 CHAR_LENGTH() まだ1文字なので、1を返します。 LENGTH() およびBIT_LENGTH() 一方、それぞれバイト数とビット数を返します。

    この例は、デフォルトのSQL_MODEを使用して行われました。 。前述のように、Oracleモードの場合は、LENGTH() CHAR_LENGTH()のように動作します 1を返しました 。

    ヌル引数

    nullを渡す nullを返します :

    SELECT CHAR_LENGTH(null);

    結果:

    +-------------------+
    | CHAR_LENGTH(null) |
    +-------------------+
    |              NULL |
    +-------------------+

    引数がありません

    CHAR_LENGTH()を呼び出す 引数を渡さないとエラーが発生します:

    SELECT CHAR_LENGTH();

    結果:

    ERROR 1582 (42000): Incorrect parameter count in the call to native function 'CHAR_LENGTH'

    CHARACTER_LENGTH()も参照してください CHAR_LENGTH()の同義語である関数 。


    1. Railsレポートはそこにある列を見つけることができません

    2. MySQLベースのシステム(MySQL / MariaDBレプリケーション+ガレラ)用にAppArmorを構成する方法

    3. ティックを日付形式に変換するにはどうすればよいですか?

    4. 異なる日付形式でCSVをMySQLにインポートする