在 SQLite 中搜索一系列字符

Search for a range of characters in SQLite

假设 table 是“t”,字段是“f”,类型是 VARCHARTEXT。下面列出的 SQL 查询适用于 MS Access 97。我们正在将数据库更新到 SQLite3(早就应该了!),这些查询 return 没有结果。

此功能是否匹配(或排除)SQLite 中可用的一系列字符?

为此你需要运算符 GLOB which:

uses the Unix file globbing syntax for its wildcards

  • SELECT * 从 t WHERE f GLOB '*[abcde]*'; -- 匹配包含 'a' 到 'e' 的条目
  • SELECT * 从 t WHERE f GLOB '*[a-e]*'; -- 同上查询
  • SELECT * 从 t WHERE f GLOB '*[^x]*'; -- 匹配不包含 'x'
  • 的条目

还有 ? 通配符正好匹配 1 个字符。