[解決済み】SQLで "LIKE "と "IN "の組み合わせはあるのか?
2022-03-24 02:32:34
質問
SQLでは、(悲しいかな)よく"を使わなければなりません。
LIKE
正規化のほぼすべてのルールに違反するデータベースのため、" 条件が必要です。今すぐには変えられません。でも、それは質問とは関係ありません。
さらに、私はよく次のような条件を使います。
WHERE something in (1,1,2,3,5,8,13,21)
を使用すると、SQL 文の可読性と柔軟性が向上します。
複雑なサブセレクトを書かずに、この2つを組み合わせる方法はないでしょうか?
のような簡単なものが欲しい。
WHERE something LIKE ('bla%', '%foo%', 'batz%')
ではなく、このように
WHERE something LIKE 'bla%'
OR something LIKE '%foo%'
OR something LIKE 'batz%'
私はここでSQl ServerとOracleを使っていますが、どのRDBMSでもこれが可能なのか興味があります。
どのように解決するのですか?
SQLではLIKE & INの組み合わせはなく、ましてやTSQL (SQL Server)やPLSQL (Oracle)ではありません。 その理由の一つは、FTS(Full Text Search)が推奨される代替手段であるためです。
Oracle と SQL Server の FTS 実装はどちらも CONTAINS キーワードをサポートしていますが、構文はまだ若干異なっています。
オラクル
WHERE CONTAINS(t.something, 'bla OR foo OR batz', 1) > 0
SQL Serverです。
WHERE CONTAINS(t.something, '"bla*" OR "foo*" OR "batz*"')
クエリするカラムはフルテキストインデックス化されている必要があります。
参考にしてください。
関連
-
[解決済み] ORA-00920: 無効な関係演算子
-
[解決済み] ORA-00918: 列があいまいに定義されています」を解決する方法
-
[解決済み] SQL ServerでSELECTからUPDATEする方法とは?
-
[解決済み] SQL Server テーブルにカラムが存在するかどうかを確認する方法は?
-
[解決済み] SQL Server の DateTime データ型から日付だけを返す方法
-
[解決済み] SQL ServerにおけるLEFT JOINとLEFT OUTER JOINの比較
-
[解決済み] SQLのSELECTでIF...THENを実行するにはどうすればよいですか?
-
[解決済み] SQL Server - 挿入された行のIDを取得するための最良の方法は?
-
[解決済み】「INNER JOIN」と「OUTER JOIN」の違いは何ですか?
-
[解決済み】SQL Serverで既存のテーブルにデフォルト値を持つカラムを追加する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】テキストが切り捨てられた、または1つ以上の文字がターゲットコードページで一致しない アンピボットの主キーを含む
-
[解決済み】一括読み込みデータ変換エラー(指定されたコードページに対して型の不一致または無効な文字)1行目4列目(年)について)
-
[解決済み】INTERSECTとINNER JOINは根本的に違うのか?[重複している]
-
[解決済み】一括読み込みデータ変換エラー(切り捨て)
-
[解決済み] pg_restoreです。[archiver] 入力ファイルはテキスト形式のダンプであるように見えます。psql を使用してください。
-
[解決済み] エラー (ORA-00923: 期待された場所に FROM キーワードが見つかりませんでした)
-
[解決済み] ORA-01735: 無効な ALTER TABLE オプション - ヒキガエル
-
[解決済み] ORA-00920: 無効な関係演算子
-
[解決済み] 時間を時間単位や10分単位でグループ化する方法
-
[解決済み】SQL Serverの「LIKE」と「IN」の組み合わせ【重複あり