見出し画像

【Airtable】文字列の「部分一致」を利用して絞り込みするには?

AirtableとSQLを比較する企画、今回は、、、「文字列検索」でございます~😆。「文字列検索」といってもいろいろありますね。いろいろ分類の仕方はあるのかもしれませんが、「指定した文字列とどのように一致するのか」によって、次の5つの分類があります。

・前方一致(指定の文字列から始まる)
・後方一致(指定の文字列で終わる)
・中間一致(指定の文字列を含むが、その文字列で始まったり、終わったりしない)
・部分一致(指定の文字列を含む。前方一致、後方一致、中間一致を合わせたもの。これを「中間一致」と呼ぶことも。)
・完全一致(指定の文字列と完全に一致する)

Airtableは、これらすべての文字列検索に対応できるかしらん?興味深々です(私だけ?😅)。

例によって、まずは、SQLではどうやるかを確認して、Airtableの機能を目撃しましょう!

SQLで文字列検索

では、SQLでいろいろ文字列検索を試します。サンプルとして準備したのは、「担当者」テーブルです。こちらの担当者の名前の文字列を検索して行を抽出してみます。

王道の「部分一致」検索

文字列を検索する機会は良くありますが、「指定の文字列が、検索対象のどこかしらに含まれてれいる」値を探すことが多くないですか?となると、それは「部分一致」検索ですねえ!

SQLのWhere句は、次の通りになります。LIKE句を使うのがポイントです!

「%」は、「0又は任意の文字数の文字列」を表します。となると、下の例では、山で始まろうが、終わろうが、文字列の中間にあろうが、とにかく山が入ってる値がヒットします。

はい、絞り込まれました。山で始まる方、山が中間にある方が含まれていますね。山で終わる方はいませんが、いたとしたら、もちろん抽出結果に含まれます。

「前方一致」ならこうなる

では、山から始まる、すなわち、「前方一致」のときは、SQLはどうなるでしょうか。次の通りになります。

山ではじまる「山本」さんだけ、取り出されました。

「後方一致」ならこうなる

ある文字列で終わる場合はどうでしょう?次のとおり書きます。この場合は、「美」で終わります。

美でおわる「崎山」さんのみ取り出されました。

いつ使うの?「中間一致」

指定の文字列が真ん中だけにある場合の絞り込みが、「中間一致」ということになります。が、そんな検索を使ったことがないな…💦。そして、SQL文の打ち方を知りません😭。部分一致の検索結果から、前方一致と後方一致の結果を除けばいいのかな。となると、こうなりますか。自信はないですが。

うん、山崎さんはいなくなりましたね…↓。こんな検索いります?

「完全一致」は、LIKE句を使わずにできますし、省略します。
Airtableを見てみましょう!

Airtableでできるのは、「部分一致」検索

さて、肝心の、、Airtableで文字列検索を行います。

担当者名の列でフィルタリングしましょう。

指定した文字列を検索するのに使えるのは、、、、、「Contains」と「is」だけですな。

Containsを使って、山を含む値を抽出します。

はいできました~。ようするに、「部分一致」(Contains)と、「完全一致」(is)だけができるんですね。

正直にいって、これで9割は、これで事足りるのではないでしょうか。前方一致や後方一致の機能は、あえて実装しなかったのかも。

はい、Airtableでできるのは、「部分一致」検索だった、という結論がでたところで本日はおしまいです。実装する機能を選りすぐっているのだろうな、と感じる今日この頃です。

では、ビーダゼーン!

※私のやる気アップとブログの品質向上につながりますので、記事が気に入られた方は、「ポチっ」と好きボタンを押してくださったり、フォローいただけますと幸いです🙇。


この記事が気に入ったらサポートをしてみませんか?