次のようなテーブルがあります。
CREATE TABLE Foo( ID INT 主キー、 キー VARCHAR、 値 VARCHAR ) ID キー値 1 ハイ ABCDE/FGHI 2 ハイ DFGRT 3 こんにちは FSEHU/
既存のライブラリ関数 (わかりやすくするために編集):
char* Foo_getId(char *value){ char *query = "SELECT id FROM Foo WHERE value LIKE ?"; sqlite3_stmt *ステートメント; int rc = sqlite3_prepare_v2(接続、クエリ、strlen(クエリ)、&ステートメント、NULL); rc = sqlite3_bind_text(ステートメント、1、値、strlen(値)、SQLITE_STATIC); rc = sqlite3_step(ステートメント); return strdup((char*)sqlite3_column_text(statement, 0)); }
私の機能:
char *getFooIdFromValueWithoutSlash(){ return Foo_getId("何がここに入るのか???"); }「/」を含まない値と一致するように LIKE クエリを作成するにはどうすればよいですか?
例えばSELECT * FROM Foo WHERE value LIKE '%!/%'
注:これをやろうとしている理由は、他の誰かのコードとやり取りしていて、そのコードの後に置かれた値しか渡すことができないからです。