SQLite – GLOB子句

SQLite GLOB操作符用于仅匹配文本模式使用通配符。如果搜索表达式可以匹配模式表达式,GLOB操作符将返回true,这是1。与LIKE不同,GLOB是大小写敏感的,它遵循语法的UNIX指定以下通配符。

  • The asterisk sign (*)
  • The question mark (?)

星号符号代表零个或多个数字或字符。的吗?代表一个数字或字符。

语法:

*和? 基本语法如下:

SELECT FROM table_name

WHERE column GLOB 'XXXX*'

 

or

 

SELECT FROM table_name

WHERE column GLOB '*XXXX*'

 

or

 

SELECT FROM table_name

WHERE column GLOB 'XXXX?'

 

or

 

SELECT FROM table_name

WHERE column GLOB '?XXXX'

 

or

 

SELECT FROM table_name

WHERE column GLOB '?XXXX?'

 

or

 

SELECT FROM table_name

WHERE column GLOB '????'

您可以使用N个条件结合使用AND和OR操作符。这里XXXX可以任何数字或字符串值。

例子:

这里有一些例子显示WHERE part having different LIKE clause with '*' and '?' 操作符::

语句

描述

WHERE SALARY GLOB '200*'

发现任何值,从200开始

WHERE SALARY GLOB '*200*'

发现任何值,200的任何位置

WHERE SALARY GLOB '?00*'

发现任何值,00在第二和第三的位置

WHERE SALARY GLOB '2??'

发现任何值,从2开始,至少3个字符的长度

WHERE SALARY GLOB '*2'

发现任何值,以2结束

WHERE SALARY GLOB '?2*3'

发现任何值,2在第二位置和结束3

WHERE SALARY GLOB '2???3'

发现任何值在一个五位数,开始2和3

让我们以一个真实的例子,确信COMPANY table有以下记录:

ID          NAME        AGE         ADDRESS     SALARY

----------  ----------  ----------  ----------  ----------

1           Paul        32          California  20000.0

2           Allen       25          Texas       15000.0

3           Teddy       23          Norway      20000.0

4           Mark        25          Rich-Mond   65000.0

5           David       27          Texas       85000.0

6           Kim         22          South-Hall  45000.0

7           James       24          Houston     10000.0

下面是一个例子,这将显示所有记录COMPANY table,年龄从2:

sqlite> SELECT * FROM COMPANY WHERE AGE GLOB '2*';

这将产生以下结果:

ID          NAME        AGE         ADDRESS     SALARY

----------  ----------  ----------  ----------  ----------

2           Allen       25          Texas       15000.0

3           Teddy       23          Norway      20000.0

4           Mark        25          Rich-Mond   65000.0

5           David       27          Texas       85000.0

6           Kim         22          South-Hall  45000.0

7           James       24          Houston     10000.0

下面是一个例子,这将显示所有记录从公司表地址将文本中的连字符(-):

sqlite> SELECT * FROM COMPANY WHERE ADDRESS GLOB '*-*';

这将产生以下结果:

ID          NAME        AGE         ADDRESS     SALARY

----------  ----------  ----------  ----------  ----------

4           Mark        25          Rich-Mond   65000.0

6           Kim         22          South-Hall  45000.0

SQLite – GLOB子句的更多相关文章

  1. SQLite Where 子句(http://www.w3cschool.cc/sqlite/sqlite-where-clause.html)

    SQLite Where 子句 SQLite的 WHERE 子句用于指定从一个表或多个表中获取数据的条件. 如果满足给定的条件,即为真(true)时,则从表中返回特定的值.您可以使用 WHERE 子句 ...

  2. SQLite - WHERE子句

    SQLite - WHERE子句 SQLite WHERE子句用于指定一个条件同时抓取数据从一个表或多个表. 如果给定的条件满意,意味着true,然后从表中返回特定值.你会使用WHERE子句来筛选记录 ...

  3. SQLite – LIMIT子句

    SQLite - LIMIT子句 SQLite LIMIT子句是用来限制SELECT语句返回的数据量. 语法: SELECT语句.LIMIT子句的基本语法如下: SELECT column1, col ...

  4. SQLite – HAVING 子句

    SQLite – HAVING子句 HAVING使您能够指定过滤条件哪一组结果出现在最终的结果. WHERE子句的地方条件选定的列, 在有HAVING 子句的地方 就有GROUP BY子句包含的条件组 ...

  5. SQLite – ORDER 子句

    SQLite - ORDER BY子句 The SQLite ORDER BY子句用于数据按升序或降序排序,基于一个或多个列. 语法: ORDER BY子句的基本语法如下: SELECT column ...

  6. SQLite的基本使用

    SQLite 创建表 SQLite 的 CREATE TABLE 语句用于在任何给定的数据库创建一个新表.创建基本表,涉及到命名表.定义列及每一列的数据类型. 语法 CREATE TABLE 语句的基 ...

  7. 学习SQLite之路(二)

    下面就是真正关于数据库的一些知识了: 20160614更新 参考: http://www.runoob.com/sqlite/sqlite-tutorial.html 1. SQLite创建表: 基本 ...

  8. Android-adb 常用命令 和 sqlite

    Android开发环境中,ADB是我们进行Android开发经常要用的调试工具,它的使用当然是我们Android开发者必须要掌握的. ADB概述 Android Debug Bridge,Androi ...

  9. Android SQLite (四 ) 全面详解(二)

    SQLite创建数据库 创建数据库语法: sqlite3 DatabaseName.db 如下展示一个实例: SQLite附加数据库 假设这样一种情况,当在同一时间有多个数据库可用,您想使用其中的任何 ...

随机推荐

  1. ng2中文文档地址

    https://angular.cn/docs/ts/latest/guide/displaying-data.html

  2. Top的VIRT是什么

    Top命令监控某个进程的资源占有情况  下面是各种内存: VIRT:virtual memory usage 1.进程“需要的”虚拟内存大小,包括进程使用的库.代码.数据等     2.假如进程申请1 ...

  3. (转)Excel自定义格式详解

    ”G/通用格式”:以常规的数字显示,相当于”分类”列表中的”常规”选项.例:代码:”G/通用格式”.10显示为10:10.1显示为10.1. 2. “#”:数字占位符.只显有意义的零而不显示无意义的零 ...

  4. 03_主线程联网问题&ANR&子线程不能修改UI

    如果不使用HAXM,恐怕网页源码查看器无法获取servlet的源码.初步猜测是安卓模拟器运行速度太慢了.如果CPU不支持VT-x的话,HAXM是安装不上的.所以可以先开启VT-x. 可以参考几篇文章h ...

  5. Playground Tutorial

    In this step by step tutorial we'll walk through setting up a business network, defining our assets, ...

  6. FZU2277 Change(dfs序+树状数组)

    传送门 题意 q次操作,操作有两种: 1 v x k:a[v]+=x,a[v']+=x-k(v'是v的子节点)... 2 v:查询\(a[v]mod(10^9+7)\) 分析 子节点增加的值为\(x+ ...

  7. 自己动手搭建SSM

    1.工具 apache-tomcat 7 apache-maven(后面详细讲!这东西我一开始也很懵逼) mysql 5以上的版本 navicat(有了这个就不用cmd了,可以直接显示数据库,如下图, ...

  8. tcpdump笔记

    最好的学习: man tcpdump ....... 一.TCPdump抓包命令  tcpdump是一个用于截取网络分组,并输出分组内容的工具.tcpdump凭借强大的功能和灵活的截取策略,使其成为类 ...

  9. ipset 学习总结

    用途:当机器受到网络攻击时,使用 iptables 封 IP,有时候可能会封禁成千上万个 IP,如果添加成千上万条规则, 在一台注重性能的服务器或者本身性能就很差的设备上就不在适用了.ipset 就是 ...

  10. 极限和连续 limits + Continue

    上一节我们将导数定义为切线的斜率,这是一种几何解释.我们求出了1/x的斜率为 -1/x2 求出了 f(x) = xn 的斜率是 f”(x) = n*xn-1  这些几何的推导都是根据y-y0  = k ...