c-如何在SQLite的LIKE查询中执行NOT



我有一个如下表:

创建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_。

别人的代码就是不能做你想做的事情。

最新更新