PostgreSQL Like查询与正则表达式

栏目: 数据库 · PostgreSQL · 发布时间: 7年前

内容简介:安装PostgreSQL之后,PostgreSQL会创建一个名为“postgres”的用户,创建一个名为“postgres”的数据库。我们就可以使用这个默认的库做实验。首先建表并插入数据:查询结果:

安装PostgreSQL之后,PostgreSQL会创建一个名为“postgres”的用户,创建一个名为“postgres”的数据库。我们就可以使用这个默认的库做实验。

首先建表并插入数据:

CREATE TABLE public.user(
	ID SERIAL PRIMARY KEY NOT NULL,
	UserID varchar(100) NOT NULL,
	UserName varchar(100) NOT NULL,
	PhoneNumber varchar(20) NOT NULL
);

INSERT INTO public."user" (userid, username, phonenumber) VALUES('u1', 'tom', '123');
INSERT INTO public."user" (userid, username, phonenumber) VALUES('u2', 'Tom', '123');
INSERT INTO public."user" (userid, username, phonenumber) VALUES('u3', 'TOM', '321');
INSERT INTO public."user" (userid, username, phonenumber) VALUES('u3', 'Jane', '456');
INSERT INTO public."user" (userid, username, phonenumber) VALUES('u3', 'jane', '654');
INSERT INTO public."user" (userid, username, phonenumber) VALUES('u3', 'Janey', '789');
INSERT INTO public."user" (userid, username, phonenumber) VALUES('u3', 'janey', '987');
复制代码

使用普通的 like 查询

select * from public."user" where username like '%O%';
复制代码

查询结果:

id userid username phonenumber
3 u3 TOM 321

使用like查询需要 % 号作为占位符,且PostgreSQL默认区分大小写。

使用不区分大小写的 ilike 查询

select * from public."user" where username ilike '%O%';
复制代码

查询结果:

id userid username phonenumber
1 u1 tom 123
2 u2 Tom 123
3 u3 TOM 321

使用不需要占位符的 ~* 查询

select * from public."user" where username ~* 'O';
复制代码

查询结果:

id userid username phonenumber
1 u1 tom 123
2 u2 Tom 123
3 u3 TOM 321

PostgreSQL正则表达式

select * from public."user" where username SIMILAR TO '%(t|j)%';
复制代码

查询结果:

id userid username phonenumber
1 u1 tom 123
5 u3 jane 654
7 u3 janey 987

总结

PostgreSQL的模糊匹配和模式查询非常强大,这里只是举了几个简单的小例子做了一下对比。更多的用法可以访问下面的参考链接了解。

如果感觉正则表达式还不能满足你的要求,可以尝试着写一个自定义函数。

另外,由于这些查询属于pgsql的方言,如果要考虑以后的数据库迁移成本的话,谨慎使用。

参考链接


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Dynamic HTML权威指南

Dynamic HTML权威指南

Danny Goodman / 2009-6 / 99.80元

《Dynamic HTML权威指南(第3版)》涵盖了最新的Web规范和各种浏览器功能特性,如果您要使用HTML、XHTML、CSS、文档对象模型(DOM)和JavaScript进行开发,那么它正是您要寻找的一站式终极资源宝库。《Dynamic HTML权威指南(第3版)》为富互联网应用程序的设计者提供了全面而翔实的参考。在《Dynamic HTML权威指南(第3版)》的帮助下,无论是Interne......一起来看看 《Dynamic HTML权威指南》 这本书的介绍吧!

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具