【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でできるのは、「部分一致」検索だった、という結論がでたところで本日はおしまいです。実装する機能を選りすぐっているのだろうな、と感じる今日この頃です。
では、ビーダゼーン!
※私のやる気アップとブログの品質向上につながりますので、記事が気に入られた方は、「ポチっ」と好きボタンを押してくださったり、フォローいただけますと幸いです🙇。
この記事が気に入ったらサポートをしてみませんか?