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

相关推荐
skywalk81631 天前
hive —— 多机 AI Agent 协同的任务总线:分布式,多节点同时运行,保障不会宕机
人工智能·hive·分布式
棣廷2 天前
初识Hive(2)
数据仓库·hive·hadoop
skywalk81632 天前
deepseek对skywalk163/hive 和hivecommons/hive 两个多机AI Agent任务调度项目的对比
人工智能·hive·agent
father_12273 天前
【ambari管理下hdp2.6.5升级hive1.2.1-2.1.0-2.3.3】
hive·hadoop·ambari
小刘在重生~3 天前
Servlet_day2 (上)|Servlet 整合 JDBC|请求转发 forward|Request 作用域
hive·hadoop·servlet
螺蛳粉 螺蛳粉4 天前
CDH第四篇:CDH 元数据库实战:MySQL 5.7.22 二进制安装 + 三库三账号授权全记录
hive·mysql5.7·centos7·元数据·cdh·oozie·数据库部署
爱吃火鸡面呀4 天前
MySQL、ClickHouse、Doris、Hive、Spark SQL、Flink SQL 选型对比:优点、缺点与面试话术
hive·mysql·clickhouse
Francek Chen8 天前
【大数据处理与分析】数据仓库Hive:08 Impala
数据仓库·hive·hadoop·数据分析·impala
大鳥9 天前
JSON 解析最佳实践:从入门到生产级优化
hive·sql·spark·json
泡干脆面就番茄10 天前
Hive窗口函数:从原理到三大面试题
大数据·数据仓库·hive·hadoop