GLOB 子句用于在 SQLite 中进行模式匹配,类似于 LIKE 子句,但是 GLOB 区分大小写,且使用的是 Unix 文件系统样式的通配符。通过 GLOB 子句,用户可以在查询中进行更为精确的匹配操作。


📚 目录

  1. GLOB 子句简介
  2. 通配符
  3. 基本语法结构
  4. GLOB 与 LIKE 的区别
  5. 参考资料与链接

1. GLOB 子句简介

GLOB 是 SQLite 中的一个模式匹配子句,它使用 Unix 文件系统样式的通配符来进行匹配操作。与 LIKE 子句不同,GLOB 区分大小写,并且支持更强大的模式匹配。


2. 通配符

GLOB 支持两种主要的通配符:

  • *:匹配零个或多个字符。
  • ?:匹配单个字符。

这些通配符与文件系统的匹配规则类似,用于精确指定查询模式。


3. 基本语法结构

SELECT 列名 FROM 表名 WHERE 列名 GLOB 模式;

  • 模式:包含一个或多个通配符的字符串,定义了匹配的模式。

示例

SELECT * FROM files WHERE name GLOB 'test*';

此语句将返回所有以 ‘test’ 开头的文件记录。


4. GLOB 与 LIKE 的区别

虽然 GLOBLIKE 都用于模式匹配,但有以下几个重要区别:

  • LIKE 默认不区分大小写,而 GLOB 区分大小写。
  • LIKE 使用 SQL 标准的通配符(%_),而 GLOB 使用文件系统风格的通配符(*?)。

示例

SELECT * FROM files WHERE name GLOB 'A*';  -- 区分大小写,匹配以大写 'A' 开头的文件名
SELECT * FROM files WHERE name LIKE 'A%';  -- 不区分大小写,匹配以 'A' 或 'a' 开头的文件名


5. 参考资料与链接