次のようなテーブルがあります。
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 '%!/%'
注:これをやろうとしている理由は、他の誰かのコードとやり取りしていて、そのコードの後に置かれた値しか渡すことができないからです。