在 hiveSQL 中判断一个字段是否包含某个值

news/2024/11/12 20:30:14/

在 hiveSQL 中判断一个字段是否包含某个值是在写sql时经常遇到的问题,本文将通过下述案例用五种方法进行解决

数据准备:

题目:查找姓名中含有”i“的员工信息

CREATE TABLE employee (name STRING,age INT
);INSERT INTO employee VALUES('Alice', 25),('Bob', 30),('Charlie', 35),('David', 40);

方案一:like

select * from employee where name like "%i%";

方案二:rlike 

如果需要使用正则表达式来匹配复杂的模式,可以使用rlike

select * from employee where name rlike ".*i.*";

 

方案三:locate(字符串,字段名)

  • locate返回某个字符串在某个字段中第一次出现的位置,如果要是没有找到,返回0
  • 可以用返回值是否为0来判断一个字段是否包含某个值
select locate('i',name) from employee;
select * from employee where locate('i',name) != 0;

 

方案四:instr(字段名,字符串) 

  • 返回某个字符串在某个字段中第一次出现的位置,如果要是没有找到,返回0
  • 和 locate的区别是先写列名再写要查找的字符串
select instr(name,'i') from employee;
select * from employee where instr(name,'i') != 0;

 

 方案五:regexp_extract

可以使用regexp_extract(subject, pattern, index)函数来提取字符串中匹配指定正则表达式的字串。要判断一个字符串中是否包含字串"ABCD",可以使用如下代码

subject是要判断的字符串,pattern;是要匹配的字串,index表示从整个匹配结果中获取整个字串。如果返回的字串不为空,则说明匹配到了,即包含字串'pattern’,否则不包含。你需要将your_table替换为你实际使用的表名或子查询

select *,regexp_extract(name,'i',0) from employee where regexp_extract(name,'i',0) = 'i';


http://www.ppmy.cn/news/1546026.html

相关文章

Java基础——类和对象的定义链表的创建,输出

目录 什么是类? 什么是对象? 如何创建链表? 尾插法: 头插法: 输出链表的长度 输出链表的值 什么是类? 创建Java程序必须创建一个类class. .java程序需要经过javac指令将文件翻译为.class字节码文件&#xff0c…

高效集成:聚水潭采购数据同步到MySQL

聚水潭数据集成到MySQL的技术案例分享 在本次技术案例中,我们将聚焦于如何通过轻易云数据集成平台,将聚水潭系统中的采购入库单数据高效、准确地集成到MySQL数据库中。具体方案名称为“聚水潭-采购入库单-->BI阿尼三-采购入库表_copy”。 首先&#…

Git别名设置

在 Git 中设置命令别名可以让你更高效地使用常见的 Git 命令。通过为常用命令创建简短的别名,可以减少输入的字符数并加速工作流程。 参考链接 设置 Git 命令别名的方法: 使用 Git 配置命令: Git 允许通过 git config 命令来设置命令别名。这…

面向对象的需求分析和设计(一)

[toc] 1. 引言 前一篇文章《我对需求分析的理解》提到了面向对象分析和设计,正好最近又重新有重点的读了谭云杰著的《Think in UML》,感觉有必要写把书中一些核心内容观点以及自己的想法整理出来,一是方便自己日后的复习,另外也…

架构师备考-架构基本概念

目录 基本概念 架构设计与生命周期 需求分析 设计阶段 实现阶段 构件组装阶段 部署阶段 后开发阶段 动态软件体系结构 体系结构恢复与重建 软件架构设计的重要性 基本概念 软件架构(Software Architecture)设计主要关注软件构件的结构、属性和…

w030基于web的甘肃非物质文化网站的设计与开发

🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。 代码可以查看文章末尾⬇️联系方式获取,记得注明来意哦~🌹赠送计算机毕业设计600个选题excel文件&#xff0…

Kafka 之顺序消息

前言: 在分布式消息系统中,消息的顺序性是一个重要的问题,也是一个常见的业务场景,那 Kafka 作为一个高性能的分布式消息中间件,又是如何实现顺序消息的呢?本篇我们将对 Kafka 的顺序消息展开讨论。 Kafk…

NLP论文速读|LongReward:基于AI反馈来提升长上下文大语言模型

论文速读|LongReward: Improving Long-context Large Language Models with AI Feedback 论文信息: 简介: 该论文试图解决的问题是如何提高长文本上下文大型语言模型(LLMs)在监督式微调(SFT)中的性能&#…