sql中判断一个字段是否包含一个数据的方法有哪些?

目录

一、like模糊查询(like关键字)

二、locate(字符串,字段名)

[三、 instr(字段名,字符串)](#三、 instr(字段名,字符串))

[四、regexp_extract(subject, pattern, index)](#四、regexp_extract(subject, pattern, index))

以下是几种方法,使用hive来举例演示一下:

sql 复制代码
-- 举例:创建一个表
CREATE TABLE employee (
    name STRING,
    age INT
);

INSERT INTO employee VALUES
    ('Alice', 25),
    ('Bob', 30),
    ('Charlie', 35),
    ('David', 40);

问题:查询名字里带 "i" 的人

一、like模糊查询(like关键字)

sql 复制代码
select * from employee where name like '%i%';

查询结果:

二、locate(字符串,字段名)

说明:返回某个字符串在某个字段中第一次出现的位置,如果要是没有找到,返回0

sql 复制代码
select * from employee where locate('i',name)>0 ;

查询结果:

三、 instr(字段名,字符串)

说明:返回某个字符串在某个字段中第一次出现的位置,如果要是没有找到,返回0

sql 复制代码
select * from employee where instr(name,'i')>0 ;

查询结果:

四、regexp_extract(subject, pattern, index)

说明:

  • subject是要判断的字段名;
  • pattern是要匹配的字符串;
  • 0表示从整个匹配结果中获取整个字串。

如果返回的字符串不为空,则说明匹配到了,即包含字符串'i',否则不包含。

sql 复制代码
select * from employee where regexp_extract(name,'i',0)!='';

查询结果:

相关推荐
qq_2069013911 分钟前
如何使用C#调用Oracle存储过程_OracleCommand配置CommandType.StoredProcedure
jvm·数据库·python
m0_7488394920 分钟前
CSS如何实现元素平滑滚动_使用scroll-behavior属性设置
jvm·数据库·python
星晨雪海1 小时前
Lombok 注解使用场景终极总结
java·数据库·mysql
风子杨yxf7712 小时前
linux下oracle开机自启动以及关机自关闭数据库,并发送邮件通知
linux·运维·数据库·oracle·自启动·发邮件·自关闭
战族狼魂2 小时前
基于LibreOffice +python 实现一个小型销售管理系统的数据库原型教学实验
数据库·python
m0_640309302 小时前
PHP函数怎样适配高可靠性存储硬件_PHP在ZFS RAIDZ环境配置【技巧】
jvm·数据库·python
踏浪无痕2 小时前
用 AI 解决数据库性能问题的方法论
数据库
2402_854808372 小时前
Django REST Framework 中实现用户资料更新的完整实践指南
jvm·数据库·python
m0_748839492 小时前
golang如何理解weak pointer弱引用_golang weak pointer弱引用总结
jvm·数据库·python
m0_738120722 小时前
渗透测试基础ctfshow——Web应用安全与防护(五)
前端·网络·数据库·windows·python·sql·安全