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

MariaDBでのTRIM_ORACLE()のしくみ

    MariaDBでは、TRIM_ORACLE() TRIM()のOracleモードバージョンの同義語です。 働き。

    TRIM_ORACLE() はすべてのモードで使用できるため、Oracleモードに切り替える必要がありません。これは、TRIM()が必要な場合に行う必要があることです。 OracleのTRIM()のように動作する関数 機能。

    違いは、各関数が空の文字列を処理する方法にあります。 Oracleはnullを返します 一方、MariaDBは空の文字列を返します。

    構文

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

    TRIM_ORACLE([remstr FROM] str)

    または:

    TRIM_ORACLE([{BOTH | LEADING | TRAILING} [remstr] FROM] str)

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

    remstrの場合 が提供されていない場合は、TRIM_ORACLE() スペースを削除します。

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

    SELECT 
        '   Volcanic eruption   ' AS "Untrimmed",
        TRIM_ORACLE('   Volcanic eruption   ') AS "Trimmed";

    結果:

    +-------------------------+-------------------+
    | Untrimmed               | Trimmed           |
    +-------------------------+-------------------+
    |    Volcanic eruption    | Volcanic eruption |
    +-------------------------+-------------------+

    この例では、最も基本的な構文を使用しています。私たちがしたのは、トリミングする文字列を提供することだけでした。トリミングする文字を指定しなかったため、すべてのスペースが文字列の両側からトリミングされました。

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

    TRIM()の方法をご覧ください トリミングする文字列の指定や、文字列のどちら側をトリミングするかなど、他のオプションの使用例については、MariaDBで機能します。 TRIM_ORACLE() このような場合でも、トリミングする文字列が空の文字列である場合を除いて、まったく同じように機能します。

    空の文字列

    空の文字列をTRIM_ORACLE()に渡す 結果はnull 返送されます。

    SELECT TRIM_ORACLE('');

    結果:

    +-----------------+
    | TRIM_ORACLE('') |
    +-----------------+
    | NULL            |
    +-----------------+

    これは、OracleのTRIM()の方法を反映しています。 関数は空の文字列を処理します。

    MariaDBでは、TRIM() 関数はnullのみを返します Oracleモードを使用している場合。 Oracleモードでない場合は、空の文字列を返します。

    ヌル引数

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

    SELECT TRIM_ORACLE(null);

    結果:

    +-------------------+
    | TRIM_ORACLE(null) |
    +-------------------+
    | NULL              |
    +-------------------+

    引数がありません

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

    SELECT TRIM_ORACLE();

    結果:

    ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 1

    1. phpmyadminの結果で推定行数が大きく異なるのはなぜですか?

    2. 初心者向けのSSISチュートリアル:なぜ、何を、どのように?

    3. pgmemcacheのセットアップと使用法

    4. SQL置換関数内の正規表現パターン?