[Go] xormのWHERE句でLIKE検索したいときの書き方

はじめに

調べても出てこなかったので、色々試して実際に動いたコードを共有します。
短くて、雑な記事ですが誰かの役に立てば嬉しいです。

本題

//略
.Where("{{テーブル名}}.{{ カラム名 }} LIKE ?", {{ 変数 }}+"%")
//略

こんな感じです。
{{テーブル名}}.{{ カラム名 }}のところは、扱うのが1つのテーブルであれば、{{ カラム名 }}だけで大丈夫です。

また、%の位置は今回後ろにつけていますが、
{{ 変数 }}+"%"
"%"+{{ 変数 }}
"%"+{{ 変数 }}+"%"
どのパターンでも問題なく動作しました。

//略
.Where("hoge_table.fuga_column LIKE ?", c.Name+"%")
//略

例で書くとこんな感じです。
%の前後に"を忘れないように注意!

さいごに

今回はサンプルコードだけの簡素な記事ですみません。
このコードについて、もっと良い書き方を知っている方がいれば、ぜひコメント欄に書いて頂ければ嬉しいです。

最後までありがとうございました。

PON

PON

30代で、完全未経験から独学でWeb系エンジニアになった人。 前職では、超絶ブラック企業にはまり込んでしまい、年間1200時間の残業をしていたが、娘が生まれたことで我に返って転職を決意。 現在は、大阪にあるベンチャー企業の自社開発プロジェクトで、リードエンジニアとして奮闘中。 主戦場はバックエンドで、Pythonでのデータ分析が武器。 とは言いつつ、SPAのフロントエンドを実装したり、インフラ設計したり、スクラム開発でプロジェクト運営したりするなんでも屋。 いつも、ググってきては誰かが書いてくれた記事を見て開発していたが、もらってばかりでなく世の中に返すこともしたいと思い、技術ブログをはじめる。 妻と1歳になる娘の3人暮らし。 最近は一日一食。 何かご用件がある方は、TwitterのDMからどうぞ。