hive中判断一个字符串是否包含另一个子串的四种方法,sql中也可用

2023-11-05

hive中判断一个字符串是否包含另一个子串的四种方法

如果你有一个数据需求,需要从一个字段中,判断是否有一个字符串,你该怎么做

一、方法1:like和rlike

最能想到的方法,用like或者rlike
在这里插入图片描述

select "i want to touch fish" like("%fish%");

在这里插入图片描述

那么rlike和like有什么区别呢,

简而言之,rlike不用一些花里胡哨的,直接匹配就可以
在这里插入图片描述

select "i want to touch fish" rlike("%fish%");

在这里插入图片描述

如果换成这样

select "i want to touch fish" rlike("fish");

在这里插入图片描述

二、方法2:locate

先看一下这个方法hive给出的解释
在这里插入图片描述

返回第一次出现的位置索引

select locate("fish", "i want to touch fish");

在这里插入图片描述

locate方法还有个强大的地方就是,可以给第三个参数,一个索引,那么在查找的时候就会从这个索引处开始查找

select locate("t", "i want to touch fish");

就比如上面这个语句,如果未给出第三个参数,那么就是返回索引 6 的位置,如果第三个参数给出9,那么就会从索引9的位置开始

select locate("t", "i want to touch fish", 9);

在这里插入图片描述

三、instr

看一下hive怎么给出的参考
在这里插入图片描述

这个就和locate相似了,但是没有locate强大,它可以给出第一次出现的位置索引

select instr('i want to touch fish', 'fish');

在这里插入图片描述

instr()和locate()的区别在于,instr的字符串在前,子串在后;而locate的字符串在后,子串在前

四、regexp正则匹配

先看下hive是怎么给出的
在这里插入图片描述

其实这个用法和rlike的用法相似,直接匹配就行

select "i want to touch fish" regexp "fish";

会返回boolean类型的结果
在这里插入图片描述

这个比rlike方便的地方就是,regexp可以带括号,也可以不带,而rlike就必须带了

最后

深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

小编已加密:aHR0cHM6Ly9kb2NzLnFxLmNvbS9kb2MvRFVrVm9aSGxQZUVsTlkwUnc==出于安全原因,我们把网站通过base64编码了,大家可以通过base64解码把网址获取下来。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

hive中判断一个字符串是否包含另一个子串的四种方法,sql中也可用 的相关文章

  • SQLite (Android):使用 ORDER BY 更新查询

    Android SQLite 我想要在 myTable 中的其他行之间插入行在android中使用SQLite 为此 我尝试增加从第 3 行开始的所有行的 id 这样 我就可以在位置 3 处插入新行 myTable 的主键是列 id 表中没
  • 在 PostgreSql 中计算百分比

    例如我有一个这样的表 string adm A 2 A 1 B 2 A 1 C 1 A 2 通过 SQL 查询 我想要这样的结果 string perc adm A 50 B 100 C 0 我想要每个字符串中数字 2 出现的百分比 我可以
  • hive sql查找最新记录

    该表是 create table test id string name string age string modified string 像这样的数据 id name age modifed 1 a 10 2011 11 11 11 1
  • C# using 语句、SQL 和 SqlConnection

    使用 using 语句 C SQL 可以吗 private static void CreateCommand string queryString string connectionString using SqlConnection c
  • 分组和切换列和行

    我不知道这是否会被正式称为枢轴 但我想要的结果是这样的 Alex Charley Liza 213 345 1 23 111 5 42 52 2 323 5 23 1 324 5 我的输入数据采用这种形式 Apt Name
  • 一个表可以有多个主键吗?

    我现在很困惑 也许你可以帮助我更好地理解这个问题 即一个表可以有两个主键 如果是 那么如何 如果没有 那为什么 您询问是否可以有多个主键field你当然可以 您只能有一个主键 但它可以包含唯一标识行所需的任意数量的列 创建表时使用类似这样的
  • 何时在 mysql 中使用 Union [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 对于 Union 您会在什么现实情况下使用它 因为对我来说 对具有不同列用途 含义的两个表中的两个选择查询使用联合是没有意义的 例如
  • 带有可变 WHERE 子句的批量 UPDATE 表

    我有一堆值对 foo1 bar1 foo2 bar2 我想做一堆更新 将 foo 列设置为 foo1 其中 bar 列为 bar1 我正在使用 psycopg2 在 Python 中执行此操作 我可以executemany与查询UPDATE
  • postgresql:插入...(选择*...)

    我不确定它是否是标准 SQL INSERT INTO tblA SELECT id time FROM tblB WHERE time gt 1000 我正在寻找的是 如果 tblA 和 tblB 位于不同的数据库服务器中怎么办 Postg
  • 获取在任何日期创建的表的列表?

    我遇到了这样的情况 我想查找我在 2012 年 9 月 14 日 2012 年 9 月 14 日 在 sql server 上创建的表 是否有任何查询会列出在此日期创建的这些表 SELECT FROM sys tables WHERE cr
  • 获取mysql中逗号分隔行中不同值的计数

    一个表 Jobs 有 2 列 JobId 城市 当我们保存工作时 工作位置可能是多个城市 如下所示 JobId City 1 New York 2 New York Ohio Virginia 3 New York Virginia 我如何
  • SQL 标准是否允许函数名和括号之间有空格

    检查一些 RDBMS 我发现类似的事情 SELECT COUNT a SUM b FROM TABLE 允许 注意聚合函数和括号之间的空格 谁能提供一个指向 SQL 标准本身定义的指针 任何版本都可以 编辑 以上在postgres中工作 m
  • SQL查询查找具有特定数量关联的行

    使用 Postgres 我有一个架构conversations and conversationUsers Each conversation有很多conversationUsers 我希望能够找到具有确切指定数量的对话conversati
  • 没有提示指令的直连接中表的顺序是否会影响性能?

    所有基于 SQL 的 RDBMS 10 年前的版本 直接连接查询 没有提示指令 中的表顺序是否会对最佳性能和内存管理产生影响 听说最后一个join应该是最大的表 您的数据库的查询优化器如何处理这种情况 回答你的问题 是的 表的顺序在连接中有
  • 通过 C# SqlCommand 执行合并语句不起作用

    我正在第一次尝试使用临时表和MERGE语句通过更新 SQL 表SqlCommandC 中的对象 我正在开发的程序旨在首先将大量记录 最多 20k 导出到 Excel 电子表格中 然后 用户可以搜索并替换特定值 并根据需要更新任意多记录中的任
  • 可以有一个带有可变列的表吗?

    这可能是一个愚蠢的问题 但这里是 是否可以创建一个能够包含具有可变列数和自定义列名称的行的动态表 我浏览过 EAV 建模 但看起来很沉重 现实生活中的例子可能是这样的 假设我有一个客户登记册 但每个客户可能需要输入不同的信息 根据您要输入的
  • 如何使用一个命令删除 SQL 数据库中的所有索引?

    那么 如何通过一条命令删除 SQL 数据库中的所有索引呢 我有这个命令可以获取所有 20 个左右的 drop 语句 但是如何从这个 结果集 运行所有这些 drop 语句呢 select from vw drop idnex 给我相同列表的另
  • 是否可以从子查询中获取多个值?

    有没有办法让子查询在oracle db中返回多列 我知道这个特定的sql会导致错误 但它很好地总结了我想要的 select a x select b y b z from b where b v a v from a 我想要这样的结果 a
  • 计算2个日期之间每个日期的记录数

    我必须创建一个查询来返回多轴图表的结果 我需要计算为 2 个日期之间的每个日期创建的 ID 数量 我试过这个 DECLARE StartDate datetime2 7 11 1 2020 EndDate datetime2 7 2 22
  • 需要在 SQL Server 中透视字符串值

    我有一个包含值的表 描述为 Occupation String Name String Developer A Developer B Designer X Coder Y Coder Z 我需要数据透视格式的值 Designer Deve

随机推荐

  • 纯CSS实现导航栏下拉动画效果

    实现思路 导航栏的下拉效果通过在ul的li里再嵌套一个ul 再通过animation属性改变第二导航栏ul的高度来实现导航栏下拉动画效果 老铁没毛病 实现效果 HTML代码 div class nav ul li a href 奥利给 a
  • PHP-代码执行函数-命令执行函数

    目录 代码执行函数 1 eval 函数 2 assert 函数 3 call user func 函数 4 create function 函数 5 array map 函数 6 call user func array 函数 7 arra
  • 哲理故事300篇(中)

    哲理故事300篇 上 http blog csdn net andylin02 archive 2006 08 23 1109314 aspx 哲理故事300篇 下 http blog csdn net andylin02 archive
  • LeetCode动态规划—跳跃游戏从跳到头到跳最少下跳到头(45、55)

    跳跃游戏 跳跃游戏 跳跃游戏 跳跃游戏 一个下标对应的值为3 那证明这个位置可以跳到前后3个位置的下标处 3均可达 如果依次遍历完这个数组 有下标在跳跃过程中最远位置仍然不可达 即证明无法到达最后一个位置 可以对每一个能作为 起跳点 的格子
  • 通讯录管理系统(C++)

    目录 1 功能分析与实现步骤 2 代码编写 2 1 联系人和通讯录结构体设计 2 2 通讯录页面 2 3 添加联系人 2 4 显示所有联系人 2 5 检测联系人 2 6 删除指定联系人 2 7 查找指定联系人 2 8 更改指定联系人 2 9
  • onu光功率多少是正常_发射光功率和接收灵敏度对光模块有什么影响

    我们在选购光模块需要留意发射光功率和接收灵敏度这两个参数 因为这两项参数是确保光模块正常通信关键因素之一 下面易天光通信 ETU LINK 就给大家介绍发射光功率和接收灵敏度分别是什么 以及如何测试光模块的光功率在正常范围呢 深圳易天光通信
  • python ssh登录偶然认证失败_paramiko.ssh_异常.AuthenticationException:身份验证失败

    import paramiko class SSHConnection object def init self host username password port 22 self sftp None self sftp open Fa
  • TypeScript--类型问题汇总

    学过js你认识的类型 boolean number string undefined null symbol object 你可能不认识的类型 void any unknown never 类型声明是TS非常重要的一个特点 通过类型声明可以
  • ORL Faces Database介绍

    ORL人脸数据集共包含40个不同人的400张图像 是在1992年4月至1994年4月期间由英国剑桥的Olivetti研究实验室创建 此数据集下包含40个目录 每个目录下有10张图像 每个目录表示一个不同的人 所有的图像是以PGM格式存储 灰
  • sql注入详解

    sql注入详解 SQLI介绍 SQLI sql injection 我们称之为sql注入 sql Structured Query Language 叫做结构化查询语句 在我们的应用系统使用 sql 语句进行管理应用数 据库时 往往采用拼接
  • AWS SAA-C03 #108

    A company has an automobile sales website that stores its listings in a database on Amazon RDS When an automobile is sol
  • 如何爬取淘宝电商数据

    在爬取淘宝电商数据之前 请务必遵守淘宝的相关规则和政策 并获得合法的授权 爬取淘宝数据的方法有很多种 这里介绍几种常见的方法 使用淘宝开放平台的 API 接口 淘宝开放平台提供了许多 API 接口 可以让开发者获取淘宝数据 使用 API 接
  • Github桌面端上传远程仓库以及将私有仓库改为公有仓库的方法

    1 桌面端上传远程仓库 pass 1 在github上下载一个桌面端应用程序 exe pass 2 用自己的github进行登录 可以在程序的头部栏看到一些应用操作 下载后登录了解即可 可以打开自己的github仓库 再打开本地文件夹 上传
  • C++ UTF-8编码识别(分析文件内容,非文件头)

    UTF 8编码的文本文档 有的带有BOM Byte Order Mark 字节序标志 即0xEF 0xBB 0xBF 有的没有 Windows下的文本编辑器在保存UTF 8格式的文本文档时会自动添加BOM到文件头 在判断这类文档时 可以根据
  • 入职银行外包开发工作 4 月有余,聊聊外包公司工作的一些真实感受

    最近发现很多小伙伴对外包工作的经历比较感兴趣 今天分享一篇关于在外包工作的真实经历和感受的文章 文章内容都来自在外包公司工作的读者的真实经历 本人普通二本本科毕业 4 年 目前是在广州工作 是一家大型的人力外包公司外包到银行的开发人员 这可
  • Python爬虫实战之爬淘宝商品并做数据分析

    前言 是这样的 之前接了一个金主的单子 他想在淘宝开个小鱼零食的网店 想对目前这个市场上的商品做一些分析 本来手动去做统计和分析也是可以的 这些信息都是对外展示的 只是手动比较麻烦 所以想托我去帮个忙 一 项目要求 具体的要求如下 1 在淘
  • 新星计划->Python循环语句while_for_猜拳游戏的实现-学习笔记

    作者 芝士小熊饼干 系列专栏 数据结构 gt 线性表 支持我 点赞 收藏 留言 新星计划参与者 创作不易 十年运道龙困井 一朝得势入青云 金鲤岂是池中物 一遇风雨变化龙 本节将学会while for in的一些基础用法及注意事项 while
  • 编译预处理:#if

    用法 if
  • MYSQL threadPool 线程池

    概述 mysql企业版安装插件使用 限制最大并发 减少服务器CPU调度 mysql默认线程调度one thread per connection 每连接一个线程 线程池适合大量短连接或高并发情况 相关参数 Plain Text 查看线程池参
  • hive中判断一个字符串是否包含另一个子串的四种方法,sql中也可用

    hive中判断一个字符串是否包含另一个子串的四种方法 如果你有一个数据需求 需要从一个字段中 判断是否有一个字符串 你该怎么做 一 方法1 like和rlike 最能想到的方法 用like或者rlike select i want to t