首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

postgres使用LIKE或ILIKE关键字查询不是以给定字符集开头的字符串

PostgreSQL是一种开源的关系型数据库管理系统,可用于存储和管理大规模数据。在PostgreSQL中,可以使用LIKE或ILIKE关键字进行模糊查询,以查找不以给定字符集开头的字符串。

LIKE关键字在查询时,使用通配符进行匹配,其中'%'表示任意字符序列,'_'表示任意单个字符。ILIKE则是不区分大小写的版本。

使用LIKE或ILIKE关键字进行查询时,可以通过以下步骤实现:

  1. 编写查询语句:
代码语言:txt
复制
SELECT * FROM table_name WHERE column_name LIKE 'pattern';

代码语言:txt
复制
SELECT * FROM table_name WHERE column_name ILIKE 'pattern';

其中,table_name是要查询的表名,column_name是要匹配的列名,pattern是要匹配的模式。

  1. 模式匹配:

使用LIKE或ILIKE关键字时,可以使用通配符进行模式匹配,如:

  • '%':表示匹配任意字符序列。
  • '_':表示匹配任意单个字符。
  • '[character_set]':表示匹配character_set中的任意一个字符。
  • '[^character_set]':表示匹配不在character_set中的任意一个字符。
  1. 示例:

假设有一个表名为users,其中有一个名为username的列,我们想要查找不以'admin'开头的用户名:

代码语言:txt
复制
SELECT * FROM users WHERE username NOT LIKE 'admin%';

代码语言:txt
复制
SELECT * FROM users WHERE username NOT ILIKE 'admin%';

这将返回所有不以'admin'开头的用户名的记录。

PostgreSQL相关产品推荐:

  • 腾讯云数据库 PostgreSQL:提供高可用、高性能、高可扩展性的托管式 PostgreSQL 数据库服务。链接地址:https://cloud.tencent.com/product/postgres
  • 腾讯云云服务器(CVM):可轻松搭建和管理 PostgreSQL 数据库的云服务器。链接地址:https://cloud.tencent.com/product/cvm

请注意,答案中没有提及其他云计算品牌商的信息,根据问题要求。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

PostgreSQL - 模糊查询

另外,因为左模糊查询效率低下,一般推荐在应用中去使用。 除了以上通用like和not like,在PostgreSQL中还有特殊操作符用于模糊查询。...ilike和not ilike ilike表示在模糊匹配字符串区分大小写,i即是ignore意思。 not ilike表示模糊匹配字符串且不区分大小写。 ~和~*,!~和!...可以通过这两个操作符来实现likeilike一样效果,如下: 1 2 3 4 5 6 7 1.匹配以“张”开头字符串 select * from table where name ~ '^张';...~是~否定用法,表示匹配正则表达式,且区分大小写。 !~*是~*否定用法,表示匹配正则表达式,且不区分大小写。 ~~和~~*,!~~和!~~* ~~等效于like,~~*等效于ilike。 !...,请谨慎使用

4.5K20
  • SqlAlchemy 2.0 中文文档(二十七)

    escape – 一个字符,给定时将使用ESCAPE关键字将其渲染为转义字符。然后,可以在%和_出现之前放置此字符,以允许它们作为自己而不是通配符字符。...生成一个 LIKE 表达式,用于对字符串区分大小写匹配进行测试: lower(column) LIKE '%' || lower() 例如: stmt = select(sometable...产生一个 LIKE 表达式,用于对字符串开头进行区分大小写匹配: lower(column) LIKE lower() || '%' 例如: stmt = select(sometable...产生一个 LIKE 表达式,用于测试字符串开头是否匹配: column LIKE || '%' 例如: stmt = select(sometable).\ where(sometable.c.column.startswith...在这种情况下,需要使用查询显式“外连接”。

    32610

    模式匹配

    模式匹配 如果在设置全文搜索情况下,如何过滤查询结果,您会选择哪种方法?...LIKE也许是最容易想到: SELECT * FROM people WHERE name LIKE 'Sam%'; // name以“Sam”开头 也可以使用ILIKE进行忽略大小写匹配: SELECT...SIMILAR TO和LIKE类似,但他使用SQL正则表达式标准定义来进行匹配: SELECT * FROM people WHERE name SIMILAR TO '(Pat|Sam)%'; //...以PatSam开头 如果喜欢POSIX风格正则表达式,也可以使用诸如~(区分大小写)和~*(区分大小写)之类运算符: SELECT * FROM people WHERE name ~* '(...需要注意效率,只有在大规模操作时才在表子集上进行这样查询,否则可能需要设置全文索引进行搜索。但是在大多数情况下PG正则表达式和模式匹配就可以了。

    97330

    SqlAlchemy 2.0 中文文档(三十八)

    生成一个 LIKE 表达式,用于对字符串中间进行区分大小写匹配: lower(column) LIKE '%' || lower() || '%' 例如: stmt = select...生成一个 LIKE 表达式,用于对字符串开头进行区分大小写匹配: lower(column) LIKE lower() || '%' 例如: stmt = select(sometable...生成一个 LIKE 表达式,用于测试字符串开头是否匹配: column LIKE || '%' 例如: stmt = select(sometable).\ where(sometable.c.column.startswith...生成一个 LIKE 表达式,用于测试字符串值中间区分大小写匹配: lower(column) LIKE '%' || lower() || '%' 例如: stmt = select...产生一个 LIKE 表达式,用于测试字符串开头匹配: column LIKE || '%' 例如: stmt = select(sometable).\ where(sometable.c.column.startswith

    18810

    django model 条件过滤 queryset.filter(**condtions)用法详解

    querySet.distinct() 去重复 __exact 精确等于 like ‘aaa’ __iexact 精确等于 忽略大小写 ilike ‘aaa’ __contains 包含 like...‘%aaa%’ __icontains 包含 忽略大小写 ilike ‘%aaa%’,但是对于sqlite来说,contains作用效果等同于icontains。...djangoobjects.filter()方法匹配多个关键字 介绍: 今天在使用django时候忽然想用到,如何匹配多个关键字操作,我们知道django有一个objects.filter()方法...table.objects.filter(title__contains=key) 问题: 但是我需求是我不仅仅只需要匹配出一个关键字文章而是多个关键字文章,那么我们该如何使用djangoobjects.filter...title from data where title like ‘%key1%’ or like ‘%key2%’ 以上两种sql语句都是选择出title属性中存在key1和key2所有文章

    4.5K10

    QBC查询

    (String propertyName,Object value),判断属性值匹配某个字符串区分大小写,条件字符串要不是完整字符串去匹配,要不采用%通配符进行匹配 H、   static Criterion...ilike(String propertyName,String value,MatchMode matchMode),判断属性值匹配某个字段,区分大小写,模式是以判断以某个字符串开头或者结尾等,这个匹配字符串可以是整个值字符串...MatchMode.START:字符串在最前面的位置.相当于"like 'key%'"      MatchMode.END:字符串在最后面的位置.相当于"like '%key'"      MatchMode.ANYWHERE...:字符串在中间匹配.相当于"like '%key%'"      MatchMode.EXACT:字符串精确匹配.相当于"like 'key' J、  static Criterion in(String...; 8>AggregateProjection sum(String propertyname):统计查询结果在某列上总和,类似于sum函数; //使用createCriteria开始条件查询

    97550

    Django设置Postgresql操作

    首先安装依赖包 $ sudo yum install python-devel postgresql-devel 如果使用virtualenv,先source一下virtualenv下“ ....补充知识:Django orm 常用查询筛选总结 本文主要列举一下django orm中常用查询筛选方法: 大于、大于等于 小于、小于等于 in like is null / is not null...User.objects.filter(age__in=[10, 20, 30]) like __exact 精确等于 like ‘aaa’ __iexact 精确等于 忽略大小写 ilike...‘aaa’ __contains 包含 like ‘%aaa%’ __icontains 包含 忽略大小写 ilike ‘%aaa%’,但是对于sqlite来说,contains作用效果等同于icontains...(username__isnull=False) // 查询用户名不为空用户 不等于/包含于 User.objects.filter().exclude(age=10) // 查询年龄不为

    1.2K20

    【MySQL】01_运算符、函数

    15 () 拓展:使用正则表达式查询 正则表达式通常被用来检索替换那些符合某个模式文本内容,根据指定匹配模式匹配文本中符合 要求特殊字符串。...'匹配包含fa字符串 fan,afa,faad [字符集合] 匹配字符集合中任何一个字符 '[xz]'匹配包含 x z字符串 dizzy,zebra [^] 匹配不在括号中任何字符 '[^abc...n次,至多m次,如果 n为0,此参数为可选参数 b{2,4}匹配含最少2个、最多4个b字符串 bb,bbb,bbbb # 1.查询以特定字符字符串开头记录 字符‘^’匹配以特定字符或者字符串开头文本...# 在fruits表中,查询f_name字段以字母‘b’开头记录,SQL语句如下: SELECT * FROM fruits WHERE f_name REGEXP '^b'; # 2.查询以特定字符字符串结尾记录...# 在fruits表中,使用LIKE运算符查询f_name字段值为“on”记录,SQL语句如下: SELECT * FROM fruits WHERE f_name like 'on'; Empty

    2.4K30

    《MySQL核心知识》第6章:查询语句

    limit限制查询结果数量 在SQLSERVER中是使用「TOP」关键字,而在MYSQL中是使用「LIMIT」关键字 LIMIT[位置偏移量],行数 第一个“位置偏移量”参数指示MYSQL从哪一行开始显示...num1>ALL(SELECT num2 FROM tbl2) 合并查询 使用UNION关键字,合并结果时,两个查询对应列数和数据类型必须相同。...各个SELECT语句之间使用UNIONUNION ALL关键字分隔 UNION:执行时候删除重复记录,所有返回行都是唯一 UNION ALL:不删除重复行也不对结果进行自动排序 SELECT...1、查询以特定字符字符串开头记录 字符“^”匹配以特定字符或者字符串开头文本 SELECT * FROM fruits WHERE f_name REGEXP '^b' 返回f_name字段以b...开头记录 2、查询以特定字符字符串结尾记录 字符“$”匹配以特定字符或者字符串结尾文本 SELECT * FROM fruits WHERE f_name REGEXP 'y$' 返回f_name

    78330

    【数据库设计和SQL基础语法】--查询数据--过滤

    使用时要注意,NULL 不同于空字符串零,而是表示缺失未知值。因此,在查询和更新数据时,适当地使用 IS NULL 可以确保正确处理这些情况。...这对于需要排除特定情况查询和更新操作非常有用。 1.3 模糊查询 使用 LIKE 匹配模式 LIKE 是 SQL 中用于匹配模式关键字,通常与通配符一起使用。...以下是使用 LIKE 进行模式匹配一些示例: 描述示例基本用法:检索以特定字符字符集开头行。...匹配以 ‘C’ ‘M’ 开头字符串:SELECT * FROM customers WHERE customer_name LIKE '[CM]%'; ^: ^ 用于在字符集中否定匹配,匹配不在指定字符集字符...匹配不以 ‘A’ ‘B’ 开头字符串:SELECT * FROM products WHERE product_name LIKE '[^AB]%'; 这些通配符可以根据实际需求组合使用,提供更灵活模糊搜索和匹配功能

    19810

    MySQL数据查询之单表查询

    distinct age from person; 条件查询 条件查询:使用 WHERE 关键字 对简单查询结果集 进行过滤   1....=)   2. null 关键字: is null , not null   3.逻辑运算符: 与 and or (多个条件时,需要使用逻辑运算符进行连接) #查询格式: select [distinct...like %:任意多个字符, _:单个字符 #查询姓名以"张"字开头 select * from person where name like '张%'; #查询姓名以"张"字结尾 select...0; MAX:计算指定列最大值,如果指定列是字符串类型,那么使用字符串排序运算; MIN:计算指定列最小值,如果指定列是字符串类型,那么使用字符串排序运算; AVG:计算指定列平均值,如果指定列类型不是数值类型...模式 描述 ^ 匹配输入字符串开始位置。 $ 匹配输入字符串结束位置。 . 匹配任何字符(包括回车和新行) […] 字符集合。匹配所包含任意一个字符。

    6.3K30

    Mysql常用sql语句(21)- regexp 正则表达式查询

    关键字来进行正则查询 正则查询语法格式 regexp '正则表达式' 常用正则表达式 选项 说明 例子 匹配值示例 ^ 匹配文本开始字符 '^b' 匹配以字母 b 开头字符串 book...、abcn + 匹配前面的字符 1 次多次 'ba+' 匹配以 b 开头,后面至少紧跟一个 a ba、bay、bare、battle 匹配包含指定字符文本 'fa' 匹配包含‘fa’文本...fan、afa、faad [字符集合] 匹配字符集合中任何一个字符 '[xz]' 匹配 x 或者 z dizzy、zebra、x-ray、extra [^] 匹配不在括号中任何字符 '[^abc]...' 匹配任何不包含 a、b c 字符串 desk、fox、f8ke 字符串{n,} 匹配前面的字符串至少 n 次 'b{2}' 匹配 2 个更多 b bbb、bbbb、bbbbbbb 字符串{...原来,是因为 regexp 不支持多字节匹配,说白了,就是不支持中文编码 要想查询中文,最好通过 like 关键字进行模糊匹配啦 当然啦,也不是没有解决办法 只需要用小括号()把中文括起来就行了 select

    1.9K10

    mysql架构sql基础

    如果不能将给定 值插入到事务表中,则放弃该语句。对于非事务表,如果 值出现在单行语句多行语句第1行,则放弃该语句。 NO_ZERO_IN_DATE 在严格模式,不接受月日部分为0日期。...是需要通过后面的记录数来计算使用哪一种类型(不同数据类型是否会影响查询效率) 如果数据长度超过255个字符(大字段) 不论是否固定长度 都会使用text(对于b树索引不支持) 不在使用char和varchar...不能以数字做为库名 如果是以数字做库名要加`` ##创建库 create database bbbb charset utf8mb4 collate utf8mb4_0900_ai_ci; ##查询库定义...; show create database aaaa; ##删除库定义 drop database aaaa; ##库定义规范 ## 1库名不能是数字开头, 不能是mysql中关键字 (如果要数字开头或者关键字需要加上决明子符号...show tables; ##查询建表语句 show create table stu; 1 表名 不要大写字母 不要数字开头 不要超过18字符 不要使用内置字符串 和业务有关 2 列名 业务有关 不要内置字符

    87631
    领券