hive中substr和regexp_replace的使用

  • substr
  1. 从指定位开始截取字符串
SELECT SUBSTR('2022-05-04',2) 
#这里以年月日作为测试数据,SUBSTR(column, start_index),这种用法会从start_index位置开始截取字符串到最后一位,这里要注意,索引是从1开始而不是0

在这里插入图片描述

  1. 从指定位置开始截取,截取到指定的最后一位
SELECT SUBSTR('2022-05-04',1,4)
#SUBSTR(column, start_index, length),这里start_index还是截取字符串的起始位置, length指的是从start_index位置开始截取的长度

在这里插入图片描述
 3. 从字符串后面开始截取

SELECT SUBSTR('2022-05-04',-3,2)
#如果指定从SUBSTR(column, start_index, length),如果start_index为负数就是从字符串的后面开始截取指定长度的字符串

在这里插入图片描述

  • regexp_replace
    regexp_replace函数的作用就是根据指定的正则表达式替换字符串
SELECT REGEXP_REPLACE('2022-05-04','[0-9]','A')
#REGEXP_REPLACE(column, regular_expression, replace_string),第一位就是要进行匹配的字符串,regular_expression就是正则表达式, replace_string就是用来替换的字符串

在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Hiveregexp_replace函数用于根据指定的正则表达式替换字符串。函数的语法为:regexp_replace(column, regular_expression, replace_string)。其,column是要进行匹配的字符串,regular_expression是正则表达式,replace_string是用来替换的字符串。举个例子,如果我们要将字符串'2022-05-04'的数字替换成字母'A',可以使用以下语句: SELECT REGEXP_REPLACE('2022-05-04', '[0-9]', 'A') 这样就会将字符串的数字全部替换成字母'A'。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Hive正则表达式替换函数 regexp_replace和正则表达式解析函数 regexp_extract的用法总结](https://blog.csdn.net/TinyNasubi/article/details/102726927)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [hivesubstrregexp_replace使用](https://blog.csdn.net/AnameJL/article/details/124566081)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值