10/04/2017

Access。クエリで文字列の左側・右側の文字を抽出する【LeftとRight】

Access。クエリで文字列の左側・右側の文字を抽出する

<クエリ Left関数&Right関数>

次のようなクエリがあります。

データシートビューで表示するとこんなクエリです。

今回は、この郵便番号フィールドの左3文字分
ハイフンの後の右4文字分をそれぞれ抽出したフィールドを
作りたい場合はどうしたらいいのでしょうか?

今回の左から何文字とか右から何文字というような抽出を
Excelで行う場合は、
文字操作でお馴染みのLEFT関数とRIGHT関数を使って抽出するわけですが、

Accessの関数にもExcelと同じように、
Left関数とRight関数があるので、それを使って抽出していきましょう。

なお、Accessの関数は、
Excelの関数と同じ名前でも使い方が違う関数や、
算出結果がAccessとExcelでは異なる関数がありますので、
それぞれの関数の使い方を確認する必要がありますので、
「Excelの関数と同じでしょう」と思いこまないようにしましょう。

【Left関数】

最初は、Left関数から確認していきましょう。

Left関数の形は、フィールド:Left([フィールド名],文字数)という形ですので、
次のように設定していきます。

左3文字: Left([郵便番号],3)

今回は、左側から3文字なので、引数には、3としてあります。

これだけで、左側から指定の文字を抽出することができます。
ExcelのLEFT関数と使い方が似ていますので、
理解しやすいAccess関数の一つですね。

それでは、データシートビューで確認してみましょう。

左側から3文字を抽出することが出来ましたね。

【Right関数】

続いてRight関数もやってみましょう。

今回は、右側から4文字分を抽出したいわけですね。
抽出する文字数が決まっている場合は、
Right関数を使ったほうが、
Excelでも馴染みがあるので使用してもいいのですが、
文字数がバラバラ。

例えば、氏名の名前を抽出するケースなどは、
Right関数ではなくて、Mid関数を使うことになります。

Mid関数に関しては、次回紹介していきます。

さて、Right関数の形は、
フィールド:Right([フィールド名],文字数)という形ですので、

先ほどのLeft関数と同じなので、作り方に差はありません。

では、次のように設定してみましょう。

右4文字: Right([郵便番号],4)
これで、郵便番号の右側4文字分が抽出することが出来ますので、
データシートビューで確認してみましょう。

このように、Right関数を使うことで、
ExcelのRIGHT関数と近い使い方で、
右側から希望する文字数を抽出することができましたね。

今回は、
AccessでのLeft関数とRight関数の作り方・使い方を
ご紹介いたしました。

ExcelのLEFT関数・RIGHT関数と同様に、わかりやすい関数ですね。