SQLite の 2 つのテーブルから 2 つの類似した列を比較しようとしています。私はこれを書きましたが、エラーはスローされませんが、何も返されません。
SELECT t1.* from t1, t2 Where t1.col1 Like '%'||t2.col1||'%';
t2.col1
の中にが埋め込まれている場合を探していt1.col1
ます。どちらの列も TEXT 型です。
注: Visual Studio 2010 で C++ の C インターフェイスを使用しています。
アイデア?
編集:
t2.col1
私は何かに一致するものから値を引き出して、t1.col1
このようなものを書いて遊んだことがあります。
SELECT t1.* from t1, t2 Where t1.col1 Like '%ValueInT1%';
これは機能し、何かを返します。
like
ステートメントで「%」文字を連結するときに SQLite にバグがありますか、それとも別の構文を使用する必要がありますか? なぜこれが機能しないのか途方に暮れています。
Locate
また、この種のチェックを行うためにさまざまなデータベースで使用される SQL 関数が呼び出されるのを見てきました。SQLite には Locate 機能がありますか?
編集2:
データの一部を使用して SQLite Administrator で最初の SQL ステートメントを実行しましたが、それは見つかりました。もっと簡単な問題があるでしょうか?データに「_」があるなどの問題を引き起こしている可能性はありますか?