SQL ServerクエリでLIKE
とIN
を組み合わせることは可能ですか?
だから、このクエリ
SELECT * FROM table WHERE column LIKE IN ('Text%', 'Link%', 'Hello%', '%World%')
これらの可能な一致のいずれかを見つけます。
Text, Textasd, Text hello, Link2, Linkomg, HelloWorld, ThatWorldBusiness
等...
事実上、IN文は一連のOR文を作成します。
SELECT * FROM table WHERE column IN (1, 2, 3)
効果的です
SELECT * FROM table WHERE column = 1 OR column = 2 OR column = 3
そして悲しいことに、それはあなたがあなたのLIKEステートメントと一緒にとるべきルートです。
SELECT * FROM table
WHERE column LIKE 'Text%' OR column LIKE 'Hello%' OR column LIKE 'That%'
私はこれが古いことを知っていますが、私は一種の実用的な解決策を得ました
SELECT Tbla.* FROM Tbla
INNER JOIN Tblb ON
Tblb.col1 Like '%'+Tbla.Col2+'%'
これは私が探していたものであり、私はそれを行う方法を考え出さなければならなかったので、私はこれに答えました。
もう1つの選択肢は、このようなものを使うことです。
SELECT *
FROM table t INNER JOIN
(
SELECT 'Text%' Col
UNION SELECT 'Link%'
UNION SELECT 'Hello%'
UNION SELECT '%World%'
) List ON t.COLUMN LIKE List.Col
いいえ、OR
ステートメントを組み合わせるにはLIKE
を使用する必要があります。
SELECT
*
FROM
table
WHERE
column LIKE 'Text%' OR
column LIKE 'Link%' OR
column LIKE 'Hello%' OR
column LIKE '%World%'
全文検索 を見ましたか?
ORで接続された複数のLIKE句が必要です。
SELECT * FROM table WHERE
column LIKE 'Text%' OR
column LIKE 'Link%' OR
column LIKE 'Hello%' OR
column LIKE '%World%' OR
いいえ、MSSQLはそのようなクエリを許可しません。 col LIKE '...' OR col LIKE '...'
などを使うべきです.