• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
LOFLY
终其一生,编织快乐
博客园    首页    新随笔    联系   管理    订阅  订阅

SQLite GLOB

类似正则表达式匹配

SQLite GLOB

在本教程中,您将学习如何使用 SQLite GLOB 运算符来确定字符串是否与特定模式匹配。

GLOB 运算符与 LIKE 运算符类似。GLOB 运算符确定字符串是否与特定模式匹配。

与 LIKE 运算符不同,GLOB 运算符区分大小写并使用 UNIX 通配符。此外,GLOB 模式没有转义字符。

以下显示了与 GLOB 运算符一起使用的通配符:

  • 星号 (*) 通配符可匹配任意数量的字符。
  • 问号(?)通配符正好匹配一个字符。

除了这些通配符之外,您还可以使用列表通配符 [] 来匹配字符列表中的一个字符。例如,[xyz] 匹配任何单个 x、y 或 z 字符。

列表通配符还允许使用一定范围的字符,例如 [a-z] 匹配从 a 到 z 的任何单个小写字符。[a-zA-Z0-9] 模式匹配任何单个字母数字字符(包括小写和大写)。

此外,还可以使用列表开头的字符 ^ 来匹配除列表中任意字符之外的任意字符。例如,[^0-9] 模式匹配除数字字符之外的任意单个字符。

SQLite GLOB 案例

以下语句查找名称以字符串 Man 开头的曲目。模式 Man* 与任何以 Man 开头的字符串匹配。

SELECT
	trackid,
	name
FROM
	tracks
WHERE
	name GLOB 'Man*';

image

以下查询查找名称以任意单个字符 (?) 开头、后跟字符串 ere 以及任意数量的字符 (*) 的曲目。

SELECT
	trackid,
	name
FROM
	tracks
WHERE
	name GLOB '?ere*';

要查找名称包含数字的曲目,可以使用列表通配符 [0-9],如下所示:


SELECT
	trackid,
	name
FROM
	tracks
WHERE
	name GLOB '*[1-9]*';

image

或者,要查找名称中不包含任何数字的曲目,您可以在列表开头放置字符 ^:

SELECT
	trackid,
	name
FROM
	tracks
WHERE
	name GLOB '*[^1-9]*';

image

以下语句查找名称以数字结尾的曲目。


SELECT
	trackid,
	name
FROM
	tracks
WHERE
	name GLOB '*[1-9]';


image

posted @ 2024-07-19 10:32  编织快乐  阅读(37)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3