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

相关推荐
fastjson_7 小时前
Hive 基础函数
数据仓库·hive·hadoop
邀星月为媒3 天前
正式迁移 Gitee:core-site-hive 与 core-hive-agent 后续更新只认这两个地址
hive·hadoop·gitee
fastjson_4 天前
Hive 复杂数据类型
数据仓库·hive·hadoop
hopsky4 天前
《Hive性能调优实战》核心内容详细解读
数据仓库·hive·hadoop
赤土 炙焱17 天前
hiveserver2启动失败,磁盘满了
hive·hadoop
Francek Chen17 天前
【大数据处理与分析】数据仓库Hive:02 数据湖
大数据·数据仓库·hive·hadoop·分布式·数据分析
Waay20 天前
什么是HBase?它和Hive有什么区别?
大数据·数据库·hive·hadoop·hdfs·hbase
fastjson_21 天前
Hive的介绍和使用
数据仓库·hive·hadoop
William Dawson1 个月前
【踩坑实录|Hive1\.2\.1数据服务接口5大疑难问题调试与全方位优化方案】
java·hive·spring boot
牛奶咖啡131 个月前
大数据Hadoop运维应用实践——HIVE与Hadoop实现整合_Hive的配置安装与使用
大数据·hive·hive的配置与安装·metastore服务的配置·hiveserver2服务配置·hive的常用sql操作·beeline的使用