我有一张如下表:
创建表 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(statement, 1, value, strlen(value), SQLITE_STATIC); rc = sqlite3_step(语句); 返回 strdup((char*)sqlite3_column_text(statement, 0)); }
我的功能:
字符 *getFooIdFromValueWithoutSlash(){ return Foo_getId("这里发生了什么???"); }如何创建一个 LIKE 查询,使其匹配任何不包含“/”的值?
例如SELECT * FROM Foo WHERE value LIKE '%!/%'
注意:我尝试这样做的原因是我正在与其他人的代码交互,我只能传递放在 like 之后的值。