ywork2020.com

Title

文字列の先頭と末尾の空白を削除する

目次 (INDEX)

TRIM とは

ここで説明する TRIM とは次の語句からなる SQL の関数です。
trim
読み: トリム
意味: 刈り込み、手入れ

目次に戻る

TRIM 関数の概要

この関数は、文字列値の先頭と末尾に含まれる空白文字 ( スペース ) を削除した新しい文字列を返します。

目次に戻る

サンプルコードと実行結果

ここからは実際に稼働しているデータベースに接続してクエリを実行していきます。 下記に配置された各ボタンをクリックすると、ボタンに書かれているサンプルクエリを実行して結果を表示します。

サンプルコード: SQL (TRIM 関数使わない場合)
SELECT 文字値 AS 代替カラム名;
実行:

説明:
ここでは CONCAT を使って文字列を結合した値を 「 TRIM 無し 」 というカラム名で表示しています。

結果を見ていただいて、お分かりいただけたでしょうか ?
*文字列B* の前後にスペースがあるのですが、そのまま 「 *文字A* *文字B* *文字C* 」 と表示されていると思います。

サンプルコード: SQL (TRIM 関数を使った場合)

上記の TRIM 関数使わない場合の結果を確認してから次の TRIM 関数を使った場合の結果を見ていただくと分りやすいと思います。

SELECT TRIM(文字値) AS 代替カラム名;
実行:

説明:
ここでは TRIM 関数で空白文字を削除した文字値を CONCAT 関数で結合して 「 TRIM 有り 」 というカラム名で表示しています。

前項の結果と比較していただくと分かると思いますが、空白文字が削除されて結合し、 「 *文字A**文字B**文字C* 」 と表示されていると思います。

目次に戻る

LTRIM 関数と RTRIM 関数

類似した関数に LTRIM 関数と RTRIM 関数があります。 LTRIM 関数は文字値の先頭のスペースを削除し、RTRIM 関数は文字値の末尾のスペース を削除する関数です。
現行の SQL Server には TRIM 関数がなかったと思いますので、LTRIM 関数と RTRIM 関数を使うことになるのではないかと思います。

目次に戻る

SQL の仕様上の注意点

※ SQL の予約句はアルファベットの大文字と小文字を区別しませんが、 任意で作成したデータベースやテーブル、カラムの名前などは区別されるので注意が必要です。

目次に戻る