hivesql 字段aa值 如何去掉前面的0

在Hive SQL中去除字段值的前导零,可以通过以下两种常用方法实现:

方法一:使用正则表达式替换(推荐)

sql 复制代码
SELECT 
  regexp_replace(aa, '^0+', '') AS trimmed_aa
FROM your_table;

说明:

  • ^0+ 正则表达式匹配字符串开头的连续零
  • regexp_replace 函数将匹配到的前导零替换为空字符串
  • 示例:000001000173 → 1000173

方法二:转换为数值类型

sql 复制代码
SELECT 
  CAST(aa AS BIGINT) AS numeric_aa
FROM your_table;

说明:

  • 通过类型转换自动去除前导零
  • 适用于纯数字字符串
  • 示例:000001000173 → 1000173

两种方法对比:

方法 优点 缺点
正则表达式 保留原始数据类型 需确保字段为字符串类型
类型转换 结果直接是数值类型 非数字字符会导致转换失败

扩展说明:

如果字段可能包含非数字字符,建议先使用正则表达式处理:

sql 复制代码
SELECT 
  CASE 
    WHEN aa RLIKE '^[0-9]+$' THEN CAST(aa AS BIGINT)
    ELSE regexp_replace(aa, '^0+', '')
  END AS safe_trim
FROM your_table;

注意:当字段全为0时(如0000),两种方法都会返回空字符串或0,需根据业务需求处理边界情况。

相关推荐
yumgpkpm13 小时前
Acceldata ODP(Open Data Platform)3.3.6.4(RHEL9)保姆级完整安装手册
大数据·人工智能·hive·hadoop·kafka·hbase·cloudera
陈年老古董17 小时前
Hive 函数学习笔记(上):单行函数与炸裂函数
hive·笔记·学习
陈年老古董21 小时前
Hive 分区表学习笔记:语法、操作、二级分区与动态分区
hive·笔记·学习
53488736abcdefg2 天前
Hive 入门&架构原理
hive·hadoop·架构
磁场转动100万匹2 天前
Hive 学习第一天:搞懂它是什么,并搭好可用的环境
hive·hadoop·学习
磁场转动100万匹2 天前
Hive 学习第三天:HQL 查询精讲与内置函数实战
hive·hadoop·学习
陈年老古董2 天前
Hive DML 语言学习笔记:数据加载、插入、导出与导入
hive·笔记·学习·mysql
clorinda2 天前
Hive 窗口函数详解:让数据在分组中完成排名、累计和跨行计算
数据仓库·hive·hadoop
陈年老古董2 天前
Hive 文件格式与查询学习笔记
hive·笔记·学习
卷毛迷你猪6 天前
快速实验篇(B12)异常流量与刷单识别(方法论演示)
大数据·hive·hadoop·数据挖掘·聚类