加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

在SQLite3中,如何在LIKE子句中进行SQL转义?

发布时间:2020-12-12 18:56:07 所属栏目:百科 来源:网络整理
导读:我想在sqlite3中运行LIKE查询,并安全地转义用户的输入.基本上,我想做这样的事情: char* query = "SELECT * FROM table WHERE LOWER(notes) LIKE '%?%'";sqlite3_stmt* statement;sqlite3_prepare_v2( database,query,-1,statement,NULL ); 但是?在LIKE表达
我想在sqlite3中运行LIKE查询,并安全地转义用户的输入.基本上,我想做这样的事情:

char* query = "SELECT * FROM table WHERE LOWER(notes) LIKE '%?%'";
sqlite3_stmt* statement;
sqlite3_prepare_v2( database,query,-1,&statement,NULL );

但是?在LIKE表达式中不受尊重.有人知道怎么做吗?

解决方法

char* query = "SELECT * FROM table WHERE LOWER(notes) LIKE '%' || ? || '%'";

但我建议您考虑使用FTS3进行全文搜索,因为您的查询运行速度比使用暴力LIKE查询快数百倍.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读