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

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

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

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

说明

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

方法二:转换为数值类型

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

说明

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

两种方法对比:

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

扩展说明:

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

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,需根据业务需求处理边界情况。

相关推荐
梦痕长情15 小时前
记一次hiveSQL 查询无数据,String类型的字段自动转化为int类型的经历和解决方案
hive
weixin_4624462318 小时前
Hadoop / YARN / Hive 运维操作教程
运维·hive·hadoop
無森~2 天前
Hive概述
数据仓库·hive·hadoop
無森~2 天前
Hive下载与安装
数据仓库·hive·hadoop
大鳥2 天前
Hive on Spark SQL 性能优化权威指南
hive·sql·spark
無森~2 天前
Hive输出表信息中文乱码解决方案
数据仓库·hive·hadoop
B站计算机毕业设计超人2 天前
计算机毕业设计Python+百度千问大模型微博舆情分析预测 微博情感分析可视化 大数据毕业设计(源码+LW文档+PPT+讲解)
大数据·hive·hadoop·python·毕业设计·知识图谱·课程设计
王九思3 天前
大数据查询工具Hive介绍
大数据·hive·hadoop
王九思3 天前
Hive Hook 机制
数据仓库·hive·hadoop
lipWOFb3 天前
扩展卡尔曼滤波soc估算 基于EKF算法的锂电池SOC 卡尔曼滤波估计电池soc ,simul...
hive