PostgreSQL LIKE 子句:获取包含某些字符的数据

在 PostgreSQL 数据库中,我们如果要获取包含某些字符的数据,可以使用 LIKE 子句。
在 LIKE 子句中,通常与通配符结合使用,通配符表示任意字符,在 PostgreSQL 中,主要有以下两种通配符:

  • 百分号 %
  • 下划线 _

如果没有使用以上两种通配符,LIKE 子句和等号 = 得到的结果是一样的。

//使用 LIKE 子句搭配百分号 % 和下划线 _ 从数据库中获取数据的通用语法:
SELECT FROM table_name WHERE column LIKE 'XXXX%';
SELECT FROM table_name WHERE column LIKE '%XXXX%';
SELECT FROM table_name WHERE column LIKE 'XXXX_';
SELECT FROM table_name WHERE column LIKE '_XXXX';
SELECT FROM table_name WHERE column LIKE '_XXXX_';

你可以在 WHERE 子句中指定任何条件。
你可以使用 AND 或者 OR 指定一个或多个条件。
XXXX 可以是任何数字或者字符。
下面是 LIKE 语句中演示了 % 和 _ 的一些差别:

在 PostgreSQL 中,LIKE 子句是只能用于对字符进行比较,因此在上面例子中,我们要将整型数据类型转化为字符串数据类型。
实例:

mydb=# select * from COMPANY;id | name  | age |                      address                       | salary | join_date
----+-------+-----+----------------------------------------------------+--------+------------4 | Mark  |  25 | Rich-Mond                                          |  65000 | 2007-12-135 | David |  27 | Texas                                              |  85000 | 2007-12-133 | Teddy |  23 | Norway                                             |  20000 |2 | Allen |  25 | Texas                                              |        | 2007-12-131 | Paul  |  32 | California                                         |  20000 | 2001-07-13
(5 行记录)//将找出 AGE 以 2 开头的数据:
mydb=# SELECT * FROM COMPANY WHERE AGE::text LIKE '2%';id | name  | age |                      address                       | salary | join_date
----+-------+-----+----------------------------------------------------+--------+------------4 | Mark  |  25 | Rich-Mond                                          |  65000 | 2007-12-135 | David |  27 | Texas                                              |  85000 | 2007-12-133 | Teddy |  23 | Norway                                             |  20000 |2 | Allen |  25 | Texas                                              |        | 2007-12-13
(4 行记录)//将找出 address 字段中含有 - 字符的数据:
mydb=# SELECT * FROM COMPANY WHERE ADDRESS  LIKE '%-%';id | name | age |                      address                       | salary | join_date
----+------+-----+----------------------------------------------------+--------+------------4 | Mark |  25 | Rich-Mond                                          |  65000 | 2007-12-13
(1 行记录)

PostgreSQL LIMIT 子句:限制 SELECT 语句中查询的数据的数量

PostgreSQL 中的 limit 子句用于限制 SELECT 语句中查询的数据的数量。

//带有 LIMIT 子句的 SELECT 语句的基本语法如下:
SELECT column1, column2, columnN
FROM table_name
LIMIT [no of rows]

OFFSET 子句

//下面是 LIMIT 子句与 OFFSET 子句一起使用时的语法:
SELECT column1, column2, columnN
FROM table_name
LIMIT [no of rows] OFFSET [row num]

实例:

mydb=# select * from COMPANY;id | name  | age |                      address                       | salary | join_date
----+-------+-----+----------------------------------------------------+--------+------------4 | Mark  |  25 | Rich-Mond                                          |  65000 | 2007-12-135 | David |  27 | Texas                                              |  85000 | 2007-12-133 | Teddy |  23 | Norway                                             |  20000 |2 | Allen |  25 | Texas                                              |        | 2007-12-131 | Paul  |  32 | California                                         |  20000 | 2001-07-13
(5 行记录)//将找出限定的数量的数据,即读取 4 条数据:
mydb=# SELECT * FROM COMPANY LIMIT 4;id | name  | age |                      address                       | salary | join_date
----+-------+-----+----------------------------------------------------+--------+------------4 | Mark  |  25 | Rich-Mond                                          |  65000 | 2007-12-135 | David |  27 | Texas                                              |  85000 | 2007-12-133 | Teddy |  23 | Norway                                             |  20000 |2 | Allen |  25 | Texas                                              |        | 2007-12-13
(4 行记录)
//但是,在某些情况下,可能需要从一个特定的偏移开始提取记录。下面是一个实例,从第三位开始提取 3 个记录:
mydb=# SELECT * FROM COMPANY LIMIT 3 OFFSET 2;id | name  | age |                      address                       | salary | join_date
----+-------+-----+----------------------------------------------------+--------+------------3 | Teddy |  23 | Norway                                             |  20000 |2 | Allen |  25 | Texas                                              |        | 2007-12-131 | Paul  |  32 | California                                         |  20000 | 2001-07-13
(3 行记录)

PgSQL——学习笔记七: LIKE 子句:获取包含某些字符的数据 LIMIT 子句:限制 SELECT 语句中查询的数据的数量相关推荐

  1. websocket 获取连接id_Swoole学习笔记七:搭建WebSocket长连接 之 使用 USER_ID 作为身份凭证...

    Swoole学习笔记七:搭建WebSocket长连接 之 使用 USER_ID 作为身份凭证 2年前 阅读 3678 评论 0 喜欢 0 ### 0.前言 前面基本的WebSocket操作,我们基本都 ...

  2. PgSQL——学习笔记八: ORDER BY 子句:排序 GROUP BY 语句:分组

    PostgreSQL ORDER BY 语句:对一列或多列数据进行升序(ASC)或降序(DESC)排列. 在 PostgreSQL 中,ORDER BY 用于对一列或者多列数据进行升序(ASC)或者降 ...

  3. window的dos命令学习笔记 七

    文章目录 一.dos历史学习笔记(后期整合到这里,我想能学到这里的应该不多了,嘿嘿,加油) 二.执行状态返回值(`%errorlevel%`,和shell中`$?`相似): 三.视窗 1.color ...

  4. ROS学习笔记七:使用rqt_console和roslaunch

    ROS学习笔记七:使用rqt_console和roslaunch 本节主要介绍在调试时使用的rqt_console和rqt_logger_level,以及一次性打开多个节点的工具roslaunch. ...

  5. 【K210】K210学习笔记七——使用K210拍摄照片并在MaixHub上进行训练

    [K210]K210学习笔记七--使用K210拍摄照片并在MaixHub上进行训练 前言 K210准备工作 K210如何拍摄照片 准备工作 拍摄相关代码定义 用K210拍摄到的照片在MaixHub平台 ...

  6. OpenHarmony学习笔记——Hi3861使用DHT11获取温湿度

    文章目录 前言 DHT11简介 通信流程 硬件连接 编程实现 GPIO API简介 复位总线 DHT11应答 数据读取 效果一览 总结 目录 前言 此文主要是使用Hi3861的GPIO口,模拟1-Wi ...

  7. OpenCV学习笔记(七)——图像梯度及边缘检测

    图像梯度计算的是图像变化的速度.对于图像的边缘部分,其灰度值变化较大,梯度值也较大:相反,对于图像中比较平滑的部分,其灰度值变化较小,相应的梯度值也较小.一般情况下,图像梯度计算的是图像的边缘信息. ...

  8. GEE学习笔记一 利用GEE获取Sentinel-2 1C与2A级影像

    GEE学习笔记一 利用GEE获取Sentinel-2 1C与2A级影像 博主最近在学习利用GEE获取Sentinel-2影像时,发现有两种不同的数据集,下面记录一下利用GEE获取两种数据集的方法. S ...

  9. Typescript 学习笔记七:泛型

    中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...

  10. Mini 容器学习笔记6——组件的获取(应用)

    1. 通过组件Id获取组件实例: [Test]public void GetByIdTest(){ServiceRegistry.Register<Person>("person ...

最新文章

  1. Windows搭建wnmp
  2. rasp 系统_RASP攻防 —— RASP安全应用与局限性浅析
  3. python tf_TF 2.1.0-rc2发布,2020年停止支持Python 2
  4. 道java_请问这道java里的这几个语句是什么意思
  5. java国际化——消息格式化+文本文件和字符集
  6. 没有什么多模态任务是一层Transformer解决不了的!
  7. 【C语言】C语言结构解析
  8. Android Studio导入项目遇到的问题
  9. 控制器发生异常 eofexception_关于气动薄膜调节阀常发生的故障你可能还不知道...
  10. 阿里云轻量应用服务器/腾讯云轻量应用服务器如何安装宝塔面板?
  11. Linux环境中的帮助命令有,Linux下的帮助命令
  12. Android Progress、SeekBar 实现进度条、可滑动的进度条
  13. 5.企业安全建设入门(基于开源软件打造企业网络安全) --- 业务安全
  14. 软件jmeter压力测试实例,jmeter压力测试案例实战
  15. 没有他的帅气,也要像他那般努力!(转载)
  16. CodeMeter***大赛战况:百人参赛,无人摘金!
  17. Word serach(Medium)
  18. angular中$cacheFactory用法(缓存)
  19. 外卖项目05---套餐管理业务开发
  20. 室外管线lisp_利用Autocad lisp进行地下管线成果表制作方法的研究

热门文章

  1. Android 自定义View:实现一个 FM 刻度尺
  2. 【源码解析】Activity的启动模式
  3. 3分钟为你的应用添加声波通讯功能
  4. 《编程小白的第一本python入门书》——读书笔记
  5. 输入scor为80结果实验
  6. Winform开发框架之通用Windows摄像头调用拍照--SNF快速开发平台3.3-Spring.Net.Framework...
  7. MySQL中explain用法含义说明
  8. android支付宝转跳转,APP跳转支付宝指定界面
  9. Tegra3 1080p高清播放时电源管理方式和功耗分析
  10. postgresql中recovery.conf分析