我有一个如下表:
创建TABLE Foo(id INT主密钥,密钥VARCHAR,VARCHAR值)id键值1嗨ABCD/FGHI2高DFGRT3高FSEHU/
现有库函数(为清晰起见进行了编辑):
char*Foo_getId(char*value){char*query="SELECT id FROM Foo WHERE value LIKE?";sqlite3_stmt*语句;int rc=sqlite3_prepare_v2(连接,查询,strlen(查询),&statement,NULL);rc=sqlite3_bind_text(语句,1,value,strlen(value),SQLITE_STATIC);rc=sqlite3_step(语句);返回strdup((char*)sqlite3_column_text(statement,0));}
我的功能:
char*getFooIdFromValueWithoutSlash(){return Foo_getId("这里发生了什么??");}如何创建LIKE查询,使其匹配任何不包含"/"的值?
例如SELECT * FROM Foo WHERE value LIKE '%!/%'
注意:我尝试这样做的原因是,我正在与其他人的代码接口,我只能传递类似代码后面的值。
你是这个意思吗?
SELECT * FROM Foo WHERE value NOT LIKE '%/%'
不能构造与NOT LIKE
模式行为相同的LIKE
模式;唯一的特殊字符是CCD_ 4和CCD_。
别人的代码就是不能做你想做的事情。