1
我想從SQLite中的2個表中比較2個類似的列。我寫了這不會拋出錯誤,但也不會返回任何東西,我知道它應該。SQLite如何在列上使用LIKE並添加通配符
SELECT t1.* from t1, t2 Where t1.col1 Like '%'||t2.col1||'%';
我正在尋找時t2.col1
被嵌入的t1.col1
內的。兩列都是TEXT類型。
注:我使用的是C-接口在C++和Visual Studio 2010
想法?
編輯:
我打得圍繞在t1.col1
拉出的t2.col1
值相匹配的東西,寫這樣的事情,
SELECT t1.* from t1, t2 Where t1.col1 Like '%ValueInT1%';
其工作並返回的東西。
在連接like
語句中的'%'字符時是否存在SQLite的錯誤,或者是否有我應該使用的不同語法?我不知道爲什麼這不起作用。
我也看到一個叫做Locate
的SQL函數,人們在不同的數據庫中使用這個函數來做這種檢查。 SQLite有一個定位功能嗎?
編輯2:
我已經運行在SQLite的管理員第一個SQL語句與我的一些數據,它並找到它。會不會有一個更簡單的問題?數據中有'_'可能導致類似的問題?
你在SQLite Administrator或類似的工具中運行查詢嗎?是相同字符串類型的t1.col1和t2.col1? –
不,我沒有。我對這個工具也不熟悉,它是如何工作的?是的,兩列都是TEXT類型的。我會更新這個問題。 – Dan
您可以相對容易地將函數添加到SQLite;它是一個受支持的擴展點(儘管它們擊敗查詢優化器)... –