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

MySQLでのTRIM()関数のしくみ

    MySQLでは、TRIM() functionは、文字列の先頭または末尾、あるいはその両方から空白(または他の指定された文字)をトリミングします。

    文字列の左側、右側、または両側のいずれからトリミングするかを指定できます。

    構文

    この関数は、次のいずれかの方法で使用できます。

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

    str トリミングする文字列であり、remstr トリミングする文字を指定するオプションの引数です。

    例1-基本的な使用法

    文字列の両側から空白を削除する基本的な例は次のとおりです。

    SELECT TRIM(' Irish Wolfhound ') AS Trimmed;

    結果:

    +-----------------+
    | Trimmed         |
    +-----------------+
    | Irish Wolfhound |
    +-----------------+
    

    先頭と末尾の両方のスペースが削除されます。文字列内のスペースはそのまま残ることに注意してください。

    効果をよりよく示すために、トリミングされていない文字列と比較した場合の外観は次のとおりです。

    SELECT 
      ' Irish Wolfhound ' AS Untrimmed,
      TRIM(' Irish Wolfhound ') AS Trimmed;

    結果:

    +-------------------+-----------------+
    | Untrimmed         | Trimmed         |
    +-------------------+-----------------+
    |  Irish Wolfhound  | Irish Wolfhound |
    +-------------------+-----------------+

    よく見ると、最初の結果には両側に余分なスペースがあり、2番目の結果にはないことがわかります。これは、次の例でさらに明確に示されています。

    複数のスペース

    複数のスペースがある場合は、すべてがトリミングされます:

    SELECT 
      ' Irish Wolfhound ' AS Untrimmed,
      TRIM(' Irish Wolfhound ') AS Trimmed;

    結果:

    +-------------------------+-----------------+
    | Untrimmed               | Trimmed         |
    +-------------------------+-----------------+
    |     Irish Wolfhound     | Irish Wolfhound |
    +-------------------------+-----------------+

    その他のキャラクター

    空白のトリミングだけにとどまりません。この機能を使用して、他の文字をトリミングできます。次に例を示します:

    SELECT TRIM('=' FROM '====Irish Wolfhound====') AS Trimmed;

    結果:

    +-----------------+
    | Trimmed         |
    +-----------------+
    | Irish Wolfhound |
    +-----------------+
    

    複数の文字を指定することもできますが、順序が重要であることに注意してください。

    SELECT TRIM('=+' FROM '=+Irish Wolfhound+=') AS Trimmed;

    結果:

    +-------------------+
    | Trimmed           |
    +-------------------+
    | Irish Wolfhound+= |
    +-------------------+

    したがって、必要に応じて単語全体をトリミングできます。

    SELECT TRIM('Irish ' FROM 'Irish Wolfhound') AS Trimmed;

    結果:

    +-----------+
    | Trimmed   |
    +-----------+
    | Wolfhound |
    +-----------+

    主役のトリム

    先頭のスペース/文字のみ、末尾のスペース、またはその両方をトリミングするかどうかを指定することもできます。

    主役だけをトリミングする例を次に示します。

    SELECT TRIM(LEADING '=' FROM '====Irish Wolfhound====') AS Trimmed;

    結果:

    +---------------------+
    | Trimmed             |
    +---------------------+
    | Irish Wolfhound==== |
    +---------------------+

    トリムトレーリングキャラクター

    末尾の文字だけをトリミングする:

    SELECT TRIM(TRAILING '=' FROM '====Irish Wolfhound====') AS Trimmed;

    結果:

    +---------------------+
    | Trimmed             |
    +---------------------+
    | ====Irish Wolfhound |
    +---------------------+

    先頭と末尾の両方をトリミング

    前の例で見たように、TRIM() 関数はデフォルトで両側をトリミングします。ただし、BOTHを使用して、これを明示的に示すオプションもあります。 。

    SELECT TRIM(BOTH '=' FROM '====Irish Wolfhound====') AS Trimmed;

    結果:

    +-----------------+
    | Trimmed         |
    +-----------------+
    | Irish Wolfhound |
    +-----------------+
    

    同様の機能

    先頭のスペースのみをトリミングする必要がある場合は、LTRIM()の使用を検討してください。 。末尾のスペースのみをトリミングする必要がある場合は、RTRIM()の使用を検討してください。 。


    1. SQLServerで重複する行を検索する

    2. 初心者のためのMySQL/MariaDBを学ぶ–パート1

    3. t-sql selectは、年の範囲内のすべての月を取得します

    4. SQL Serverを実行している2つのDockerコンテナ間にリンクサーバーを作成する(T-SQLの例)