我想要做這樣的事情:SQL LIKE操作
SELECT *
FROM
dictionary t1,
dictionary t2
WHERE t1.category <> t2.category
AND t1.tag <> t2.tag
AND t1.word LIKE '% t2.word %';
如何編寫SQL的'% t2.word %'
部分得到正確的結果?
我想要做這樣的事情:SQL LIKE操作
SELECT *
FROM
dictionary t1,
dictionary t2
WHERE t1.category <> t2.category
AND t1.tag <> t2.tag
AND t1.word LIKE '% t2.word %';
如何編寫SQL的'% t2.word %'
部分得到正確的結果?
select *
from dictionary t1,
dictionary t2 -- <- Is there an intentional Cartesian Join?
where t1.category <> t2.category and
t1.tag <> t2.tag and
t1.word like '% ' || t2.word || ' %'; -- <- check spaces!
您需要使用該列。
select *
from dictionary t1, dictionary t2
where t1.category<>t2.category and t1.tag<>t2.tag and t1.word like '% ' + t2.word + ' %';
select *
from dictionary t1, dictionary t2
where t1.category<>t2.category and t1.tag<>t2.tag and t1.word like '%'+ t2.word +'%';
提示錯誤:運營商不存在:未知+文字 SQL狀態:42883 提示:無操作比賽給定的名稱和參數類型。您可能需要添加顯式類型轉換。 – yetAnotherSE
是的,如果你說Oracle我會給你||的回答! – LoztInSpace
我不使用Oracle,我使用postgresql。謝謝你的回答。 – yetAnotherSE
這是你在找什麼:
select *
from dictionary t1, dictionary t2
where t1.category<>t2.category and t1.tag<>t2.tag and t1.word like '% ' + t2.word + ' %';
非常感謝,它的工作原理。 – yetAnotherSE