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

MariaDBでのRTRIM()のしくみ

    MariaDBでは、RTRIM() は、末尾のスペース文字が削除された文字列を返す組み込みの文字列関数です。

    構文

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

    RTRIM(str)

    str 末尾のスペースを削除する文字列です。

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

    SELECT 
        '   Solar System   ' AS "Untrimmed",
        RTRIM('   Solar System   ') AS "Trimmed";

    結果:

    +--------------------+-----------------+
    | Untrimmed          | Trimmed         |
    +--------------------+-----------------+
    |    Solar System    |    Solar System |
    +--------------------+-----------------+

    ここでは、最初の列はトリミングされておらず、2番目の列はRTRIM()でトリミングされています。 。

    文字列の右側の部分だけがトリミングされていることがわかります。左側はそのままです。

    文字列内のスペースがそのまま残っていることもわかります。

    ヌル引数

    引数がnullの場合 、結果はnullです :

    SELECT RTRIM(null);

    結果:

    +-------------+
    | RTRIM(null) |
    +-------------+
    | NULL        |
    +-------------+

    Oracleモード

    でない場合 Oracleモードで実行している場合、結果が空の場合(つまり、長さがゼロの場合)、結果は空の文字列になります。

    ただし、Oracleモードで実行すると、結果はnullになります。 。

    ここではデフォルトモードになっています(つまり、 Oracleモードの場合):

    SELECT RTRIM('');

    結果:

    +-----------+
    | RTRIM('') |
    +-----------+
    |           |
    +-----------+

    それでは、Oracleモードに切り替えましょう:

    SET SQL_MODE=ORACLE;

    そして、コードを再度実行します:

    SELECT RTRIM('');

    結果:

    +-----------+
    | RTRIM('') |
    +-----------+
    | NULL      |
    +-----------+

    これを行う別の方法もあります。 Oracleモードに切り替える代わりに、RTRIM_ORACLE()を使用できます。 関数名として。

    デフォルトモードに戻しましょう:

    SET SQL_MODE=DEFAULT;

    そして、RTRIM_ORACLE()を実行します :

    SELECT RTRIM_ORACLE('');

    結果:

    +------------------+
    | RTRIM_ORACLE('') |
    +------------------+
    | NULL             |
    +------------------+

    引数がありません

    RTRIM()の呼び出し 引数がないとエラーになります:

    SELECT RTRIM();

    結果:

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

    1. SQL Serverで大文字を小文字に変換する方法– LOWER()

    2. SQL Server(T-SQL)で複数のパーティションを単一のファイルグループにマップする方法

    3. SQLServerの既存のSQLServerテーブルから新しいテーブルをバックアップまたは作成する方法-SQLServer/TSQLチュートリアルパート105

    4. MysqlDBからJFreechartTimeSeriesCollectionにデータを入力しますか?