Impala查找指定字符位置instr
创始人
2024-01-21 03:29:56
0

在数据查询的应用场景中,不乏需要进行数据字符定位,获取该字符所在位置,进而配合进行数据截取、判断、分组、替换等等操作;往往有时候,我们未必知道该字符所在的位置,也不能断言该字符就是从某位置开始,不能觉得理所当然,此时我们就需要应用 instr 函数,先进行字符的定位,再配合其他函数,如截取场景,进行查询函数的搭配使用,以达到我们的预期效果,这正式我们应用 instr 的目的和价值所在;

下面直接用实例说明 instr 的使用方式:

序号

语法类型/方法名称

输出类型

使用说明

1

instr(column, str)

int

默认从第1位开始,查询字符str的位置

2

instr(column, str, num)int从指定位置num开始,查询字符str的位置

3

instr(column, str, m, n)int从指定位置m开始,查询第n次出现字符str的位置
4instr(column, str, -num)int从倒数位置num开始,查询字符str的位置
-- 默认从第一位开始查询
-- 返回位置,从1开始
select instr("hello world","l")
-- 输出结果:32-- 从指定位置开始(N+1)查询
select instr("hello world","wo",3) 
-- 输出:7-- 从指定位置M开始查询,第N次出现指定字符的位置
select instr("hello world w wo wod","w",2,3) 
-- 输出:15-- 负数,从右侧倒数第N位开始查询
select instr("hello world","l",-2) 
-- 输出:10
select instr("hello world","l",-3) 
-- 输出:4

根据查询到的数据位置,我们也可以做一些其他场景应用,比如截取left、right、substr:

left配合 instr,查找指定字符位置,并取到该位置结束的所有字符数据等场景

right配合 instr,查找指定字符位置,并取从该位置开始后的所有字符数据等场景

substr配合 instr,查找指定字符位置,并取从该字符位置开始后,指定长度的数据;或查找2个指定字符位置,并取出2个字符之间的整串字符串

下面是简单的使用场景,供参考用

-- 截取指定字符左侧数据
select left('{key:value;}',instr('{key:value;}',':'))
-- 输出:{key:-- 截取指定字符右侧数据
select right('{key:value;}',length('{key:value;}')-instr('{key:value;}',':'))
-- 输出:value;}-- 截取从指定字符b开始、到指定字符d结束中间的字符
select substring('aabb11ddee',instr('aabb11ddee','b'),instr('aabb11ddee','d',-1)-instr('aabb11ddee','b')+1)
-- 输出:bb11dd

以上,instr是一个在我们需要进行数据字符定位时,一个很好的函数,在Impala中,通过instr进行查找指定字符位置,应用instr函数,以及配合常见的字符截取函数,就能达到一些数据位置未知的情况下进行数据截取的应用,希望对大家有帮助

相关内容

热门资讯

保存时出现了1个错误,导致这篇... 当保存文章时出现错误时,可以通过以下步骤解决问题:查看错误信息:查看错误提示信息可以帮助我们了解具体...
汇川伺服电机位置控制模式参数配... 1. 基本控制参数设置 1)设置位置控制模式   2)绝对值位置线性模...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
不一致的条件格式 要解决不一致的条件格式问题,可以按照以下步骤进行:确定条件格式的规则:首先,需要明确条件格式的规则是...
本地主机上的图像未显示 问题描述:在本地主机上显示图像时,图像未能正常显示。解决方法:以下是一些可能的解决方法,具体取决于问...
表格列调整大小出现问题 问题描述:表格列调整大小出现问题,无法正常调整列宽。解决方法:检查表格的布局方式是否正确。确保表格使...
表格中数据未显示 当表格中的数据未显示时,可能是由于以下几个原因导致的:HTML代码问题:检查表格的HTML代码是否正...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...