1

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 ステートメントを実行しましたが、それは見つかりました。もっと簡単な問題があるでしょうか?データに「_」があるなどの問題を引き起こしている可能性はありますか?

4

1 に答える 1

0

(VV) 答えは、実際のテーブルの間違った列に参加していたというものでした。2 つの列の名前が非常に似ていて、間違った列をチェックしていました。

助けてくれてありがとう。

于 2012-11-27T23:16:54.070 に答える