【Access関数】Trim・LTrim・RTrim の使い方|構文・具体例

入門講習

Accessでテキストデータを扱う時、データの前後に不必要な空白が入っていると、検索や集計・条件比較などで意図しない結果になることがあります。
Trim/LTrim/RTrimの各関数は、そのようなケースで不必要な空白を取り除くことができる関数です。

この記事ではそれぞれの関数の基本、違い、使い分けについて解説します。

Trim / LTrim / RTrim 関数とは

Accessでは文字列の前後にある空白(スペース)を取り除く関数として、次の 3 つが用意されています。

関数名内容
Trim文字列の 先頭・末尾 の空白を両方削除
LTrim文字列の 先頭(Left) の空白だけ削除
RTrim文字列の 末尾(Right) の空白だけ削除

Trim関数は、LTrim関数/RTrim関数の両方の性質を持った関数です。

構文

Trim関数

基本構文

Trim(文字列)

LTrim関数

基本構文

LTrim(文字列)

RTrim関数

基本構文

RTrim(文字列)

いずれも、引数が1つのみのシンプルな関数です。
それでは、次項で具体例をみていきましょう。

具体例

テーブルに氏名のフィールドがあり、両端に空白が入っているレコードがあります。
分かりにくいですが、左側に空白が入っているものもあります。

青森 一郎が3レコードありますが、空白があるため青森 一郎で抽出しても1件しか絞り込まれません。

このテーブルに対して、以下のクエリを作成し、Trim,LTrim,RTrimの違いを比較します。

そして、実行結果がこちらです。

【解説】

氏名フィールドには、半角または全角の空白が左右に入っているレコードがあります。

  • Trim…先頭の空白が削除されたことで、文字列が左側に寄せられていることが分かります。
       ※見えませんが、末尾の空白も削除されています。
  • LTrim…先頭の空白が削除されたことで、文字列が左側に寄せられていることが分かります。
  • RTrim…先頭の空白は削除されませんので、文字位置はそのままです。
        ※変化は見えませんが、末尾の空白は削除されています。

改めて、Trim関数後の青森 一郎で抽出すると3レコードが絞り込まれました。

各関数の特徴が理解いただけたでしょうか。
実務では両側を一気に削除するTrim関数がよく使われます。

文字列中(途中)の空白削除について

Replace関数による苗字と名前の間の空白削除方法

前述したとおり、Trim/LTrim/RTrim「先頭」「末尾」の空白しか削除できません。
たとえば、「横浜 一郎」のように、苗字と名前の間の空白は削除できないのです。

そのため、文字列の途中の空白を削除したい時はReplace関数を使う必要があります

Replace関数は、文字列中の任意の文字列を置き換える関数ですが、以下のような式にすることで空白を削除することができます。

Replace関数での空白削除

Replace(文字列, ” “, “”)

先ほどの氏名フィールドを用いて、検証してみましょう。

このように、苗字と氏名の間の空白を削除することができます。また間の空白だけでなく、前後の空白も削除されているのがお分かりいただけると思います。

Replace関数は、ある意味、Trim/LTrim/RTrim関数の上位互換としても位置付けることができます。
もちろん、文字列中の空白を削除したくない場合もありますので、そういった場合はTrim/LTrim/RTrim関数の出番です。各関数の特徴を把握して、うまく使い分けていきましょう。

Replace関数の詳細については、こちらの記事で詳しく解説しています。

Trim$/LTrim$/RTrim$関数との違い

各関数の末尾に「$」が付いているものもあります。通常のものとどのような違いがあるか解説します。

関数名相違点
Trim/LTrim/RTrim関数戻り値のデータ型がVariant
Trim$/LTrim$/RTrim$関数戻り値のデータ型がString

関数の動作内容はまったく同じで、戻り値のデータ型が異なるだけです

変数のデータ型に対してもいえますが、基本的にはVariant型ではなく、その用途に沿ったデータ型を指定するのがセオリーです。それは、余分なメモリー消費を抑えたり、パフォーマンス向上を図るというのが理由となっています。

ですが、Accessで使用するような範囲内であれば体感できる差はほぼありません。
よって通常は「$」のない、Trim/LTrim/RTrim関数の使用で問題ないでしょう。

まとめ

前後の空白を整えるための Trim系関数は、文字列整形の代表的な関数です。
正しく使い分ければ、クエリの比較・集計・データクレンジングの精度が向上します。

  • Trim:前後両方
  • LTrim:先頭
  • RTrim:末尾
  • Replace:文字列中も含めた任意の削除・置換

これらの違いを把握し活用してみましょう。

タイトルとURLをコピーしました