You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQLite3括号通配符失效:如何匹配大小写的Cheesecake

SQLite3中查询包含大小写"Cheesecake"的行的解决方案

你原来的SQL语句没法生效,是因为SQLite的LIKE操作符不支持[Cc]这种正则风格的字符类语法,换以下几种写法就能实现需求:

  • 方案一:直接用两个LIKE条件通过OR连接
    这种写法简单直观,不需要额外函数,适合基础场景:

    SELECT * FROM food
    WHERE name LIKE "%Cheesecake%" OR name LIKE "%cheesecake%";
    
  • 方案二:用LOWER()统一转换为小写后匹配
    把字段值转成小写,再和小写的关键词匹配,一次就能覆盖大小写情况:

    SELECT * FROM food
    WHERE LOWER(name) LIKE "%cheesecake%";
    

    换成UPPER(name) LIKE "%CHEESECAKE%"也能达到同样效果。

  • 方案三:用正则表达式(需SQLite 3.31.0及以上版本,且编译时启用ICU扩展)
    如果你需要更复杂的匹配规则,可以用REGEXP,搭配不区分大小写的排序规则:

    -- 先加载ICU扩展(仅需执行一次)
    .load icu
    SELECT * FROM food
    WHERE name REGEXP "cheesecake" COLLATE NOCASE;
    

    或者直接在正则里指定大小写范围:

    SELECT * FROM food
    WHERE name REGEXP "[Cc]heesecake";
    

内容的提问来源于stack exchange,提问作者CheesecakeLover

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 19:31:59