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)!='';

查询结果:

相关推荐
煎蛋学姐1 分钟前
SSM音乐播放软件的开发与实现7g5j0(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·ssm 框架·javaweb 开发·前后端开发
2301_821369614 分钟前
使用Python进行图像识别:CNN卷积神经网络实战
jvm·数据库·python
星空露珠7 分钟前
速算24点所有题库公式
开发语言·数据库·算法·游戏·lua
m0_561359678 分钟前
使用Kivy开发跨平台的移动应用
jvm·数据库·python
sheji526118 分钟前
JSP基于信息安全的读书网站79f9s--程序+源码+数据库+调试部署+开发环境
java·开发语言·数据库·算法
海域云-罗鹏33 分钟前
国内公司与英国总部数据中心/ERP系统互连,SD-WAN专线实操指南
大数据·数据库·人工智能
qq_423233901 小时前
如何用FastAPI构建高性能的现代API
jvm·数据库·python
凯子坚持 c1 小时前
Qt常用控件指南(8)
开发语言·数据库·qt
春生野草1 小时前
Redis
数据库·redis·缓存
weixin_499771551 小时前
Python上下文管理器(with语句)的原理与实践
jvm·数据库·python