爆款云主机2核4G限时秒杀,88元/年起!
查看详情

活动

天翼云最新优惠活动,涵盖免费试用,产品折扣等,助您降本增效!
热门活动
  • 618智算钜惠季 爆款云主机2核4G限时秒杀,88元/年起!
  • 免费体验DeepSeek,上天翼云息壤 NEW 新老用户均可免费体验2500万Tokens,限时两周
  • 云上钜惠 HOT 爆款云主机全场特惠,更有万元锦鲤券等你来领!
  • 算力套餐 HOT 让算力触手可及
  • 天翼云脑AOne NEW 连接、保护、办公,All-in-One!
  • 中小企业应用上云专场 产品组合下单即享折上9折起,助力企业快速上云
  • 息壤高校钜惠活动 NEW 天翼云息壤杯高校AI大赛,数款产品享受线上订购超值特惠
  • 天翼云电脑专场 HOT 移动办公新选择,爆款4核8G畅享1年3.5折起,快来抢购!
  • 天翼云奖励推广计划 加入成为云推官,推荐新用户注册下单得现金奖励
免费活动
  • 免费试用中心 HOT 多款云产品免费试用,快来开启云上之旅
  • 天翼云用户体验官 NEW 您的洞察,重塑科技边界

智算服务

打造统一的产品能力,实现算网调度、训练推理、技术架构、资源管理一体化智算服务
智算云(DeepSeek专区)
科研助手
  • 算力商城
  • 应用商城
  • 开发机
  • 并行计算
算力互联调度平台
  • 应用市场
  • 算力市场
  • 算力调度推荐
一站式智算服务平台
  • 模型广场
  • 体验中心
  • 服务接入
智算一体机
  • 智算一体机
大模型
  • DeepSeek-R1-昇腾版(671B)
  • DeepSeek-R1-英伟达版(671B)
  • DeepSeek-V3-昇腾版(671B)
  • DeepSeek-R1-Distill-Llama-70B
  • DeepSeek-R1-Distill-Qwen-32B
  • Qwen2-72B-Instruct
  • StableDiffusion-V2.1
  • TeleChat-12B

应用商城

天翼云精选行业优秀合作伙伴及千余款商品,提供一站式云上应用服务
进入甄选商城进入云市场创新解决方案
办公协同
  • WPS云文档
  • 安全邮箱
  • EMM手机管家
  • 智能商业平台
财务管理
  • 工资条
  • 税务风控云
企业应用
  • 翼信息化运维服务
  • 翼视频云归档解决方案
工业能源
  • 智慧工厂_生产流程管理解决方案
  • 智慧工地
建站工具
  • SSL证书
  • 新域名服务
网络工具
  • 翼云加速
灾备迁移
  • 云管家2.0
  • 翼备份
资源管理
  • 全栈混合云敏捷版(软件)
  • 全栈混合云敏捷版(一体机)
行业应用
  • 翼电子教室
  • 翼智慧显示一体化解决方案

合作伙伴

天翼云携手合作伙伴,共创云上生态,合作共赢
天翼云生态合作中心
  • 天翼云生态合作中心
天翼云渠道合作伙伴
  • 天翼云代理渠道合作伙伴
天翼云服务合作伙伴
  • 天翼云集成商交付能力认证
天翼云应用合作伙伴
  • 天翼云云市场合作伙伴
  • 天翼云甄选商城合作伙伴
天翼云技术合作伙伴
  • 天翼云OpenAPI中心
  • 天翼云EasyCoding平台
天翼云培训认证
  • 天翼云学堂
  • 天翼云市场商学院
天翼云合作计划
  • 云汇计划
天翼云东升计划
  • 适配中心
  • 东升计划
  • 适配互认证

开发者

开发者相关功能入口汇聚
技术社区
  • 专栏文章
  • 互动问答
  • 技术视频
资源与工具
  • OpenAPI中心
开放能力
  • EasyCoding敏捷开发平台
培训与认证
  • 天翼云学堂
  • 天翼云认证
魔乐社区
  • 魔乐社区

支持与服务

为您提供全方位支持与服务,全流程技术保障,助您轻松上云,安全无忧
文档与工具
  • 文档中心
  • 新手上云
  • 自助服务
  • OpenAPI中心
定价
  • 价格计算器
  • 定价策略
基础服务
  • 售前咨询
  • 在线支持
  • 在线支持
  • 工单服务
  • 建议与反馈
  • 用户体验官
  • 服务保障
  • 客户公告
  • 会员中心
增值服务
  • 红心服务
  • 首保服务
  • 客户支持计划
  • 专家技术服务
  • 备案管家

了解天翼云

天翼云秉承央企使命,致力于成为数字经济主力军,投身科技强国伟大事业,为用户提供安全、普惠云服务
品牌介绍
  • 关于天翼云
  • 智算云
  • 天翼云4.0
  • 新闻资讯
  • 天翼云APP
基础设施
  • 全球基础设施
  • 信任中心
最佳实践
  • 精选案例
  • 超级探访
  • 云杂志
  • 分析师和白皮书
  • 天翼云·创新直播间
市场活动
  • 2025智能云生态大会
  • 2024智算云生态大会
  • 2023云生态大会
  • 2022云生态大会
  • 天翼云中国行
天翼云
  • 活动
  • 智算服务
  • 产品
  • 解决方案
  • 应用商城
  • 合作伙伴
  • 开发者
  • 支持与服务
  • 了解天翼云
      • 文档
      • 控制中心
      • 备案
      • 管理中心

      hive的关系运算、逻辑预算、数学运算、数值运算、日期函数、条件函数和字符串函数的语法与使用示例详解

      首页 知识中心 数据库 文章详情页

      hive的关系运算、逻辑预算、数学运算、数值运算、日期函数、条件函数和字符串函数的语法与使用示例详解

      2023-07-06 09:39:09 阅读次数:429

      hadoop,hive,数据仓库

      Apache Hive 系列文章

      1、apache-hive-3.1.2简介及部署(三种部署方式-内嵌模式、本地模式和远程模式)及验证详解 2、hive相关概念详解--架构、读写文件机制、数据存储 3、hive的使用示例详解-建表、数据类型详解、内部外部表、分区表、分桶表 4、hive的使用示例详解-事务表、视图、物化视图、DDL(数据库、表以及分区)管理详细操作 5、hive的load、insert、事务表使用详解及示例 6、hive的select(GROUP BY、ORDER BY、CLUSTER BY、SORT BY、LIMIT、union、CTE)、join使用详解及示例 7、hive shell客户端与属性配置、内置运算符、函数(内置运算符与自定义UDF运算符) 8、hive的关系运算、逻辑预算、数学运算、数值运算、日期函数、条件函数和字符串函数的语法与使用示例详解 9、hive的explode、Lateral View侧视图、聚合函数、窗口函数、抽样函数使用详解 10、hive综合示例:数据多分隔符(正则RegexSerDe)、url解析、行列转换常用函数(case when、union、concat和explode)详细使用示例 11、hive综合应用示例:json解析、窗口函数应用(连续登录、级联累加、topN)、拉链表应用 12、Hive优化-文件存储格式和压缩格式优化与job执行优化(执行计划、MR属性、join、优化器、谓词下推和数据倾斜优化)详细介绍及示例 13、java api访问hive操作示例

      本文介绍了hive的关系运算、逻辑预算、数学运算、数值运算、日期函数、条件函数和字符串函数的语法与使用示例。 本文依赖hive可用。 本分分为6个部分,即关系运算、逻辑预算、数学运算、数值运算、日期函数、条件函数和字符串函数。

      一、关系运算

      常见的关系运算符

      • 等值比较: =
      • 不等值比较: <>
      • 小于比较: <
      • 小于等于比较: <=
      • 大于比较: >
      • 大于等于比较: >=
      • 空值判断: IS NULL
      • 非空判断: IS NOT NULL
      • LIKE比较: LIKE
      • JAVA的LIKE操作: RLIKE
      • REGEXP操作: REGEXP

      1、等值比较: =

      语法:A=B
      操作类型:所有基本类型
      描述: 如果表达式A与表达式B相等,则为TRUE;否则为FALSE
      举例:
      hive> select 1 from dual where 1=1;
      

      2、不等值比较: <>

      语法: A <> B
      操作类型: 所有基本类型
      描述: 如果表达式A为NULL,或者表达式B为NULL,返回NULL;如果表达式A与表达式B不相等,则为TRUE;否则为FALSE
      举例:
      hive> select 1 from dual where 1 <> 2;
      

      3、小于比较: <

      语法: A < B
      操作类型: 所有基本类型
      描述: 如果表达式A为NULL,或者表达式B为NULL,返回NULL;如果表达式A小于表达式B,则为TRUE;否则为FALSE
      举例:
      hive> select 1 from dual where 1 < 2;
      

      3、小于等于比较: <=

      语法: A <= B
      操作类型: 所有基本类型
      描述: 如果表达式A为NULL,或者表达式B为NULL,返回NULL;如果表达式A小于或者等于表达式B,则为TRUE;否则为FALSE
      举例:
      hive> select 1 from dual where 1 <= 1;
      

      4、大于等于比较: >=

      语法: A >= B
      操作类型: 所有基本类型
      描述: 如果表达式A为NULL,或者表达式B为NULL,返回NULL;如果表达式A大于或者等于表达式B,则为TRUE;否则为FALSE
      举例:
      hive> select 1 from dual where 1 >= 1;
      

      5、空值判断: IS NULL

      语法: A IS NULL
      操作类型: 所有类型
      描述: 如果表达式A的值为NULL,则为TRUE;否则为FALSE
      举例:
      hive> select 1 from dual where null is null;
      

      6、非空判断: IS NOT NULL

      语法: A IS NOT NULL
      操作类型: 所有类型
      描述: 如果表达式A的值为NULL,则为FALSE;否则为TRUE
      举例:
      hive> select 1 from dual where 1 is not null;
      

      7、LIKE比较: LIKE

      语法: A LIKE B
      操作类型: strings
      描述: 如果字符串A或者字符串B为NULL,则返回NULL;如果字符串A符合表达式B   的正则语法,则为TRUE;否则为FALSE。B中字符”_”表示任意单个字符,而字符”%”表示任意数量的字符。
      举例:
      hive> select 1 from dual where ‘key' like 'foot%';
      1
      hive> select 1 from dual where ‘key ' like 'foot____';
      1
      注意:否定比较时候用 NOT A LIKE B
      hive> select 1 from dual where NOT ‘key ' like 'fff%';
      

      8、JAVA的LIKE操作: RLIKE

      语法: A RLIKE B
      操作类型: strings
      描述: 如果字符串A或者字符串B为NULL,则返回NULL;如果字符串A符合JAVA正则表达式B的正则语法,则为TRUE;否则为FALSE。
      举例:
      hive> select 1 from dual where 'footbar’ rlike '^f.*r$’;
      1
      注意:判断一个字符串是否全为数字:
      hive>select 1 from dual where '123456' rlike '^\\d+$';
      1
      hive> select 1 from dual where '123456aa' rlike '^\\d+$';
      

      9、REGEXP操作: REGEXP

      语法: A REGEXP B
      操作类型: strings
      描述: 功能与RLIKE相同
      举例:
      hive> select 1 from dual where ‘key' REGEXP '^f.*r$';
      1
      

      二、逻辑运算与数学运算

      • 加法操作: +
      • 减法操作: -
      • 乘法操作: *
      • 除法操作: /
      • 取余操作: %
      • 位与操作: &
      • 位或操作: |
      • 位异或操作: ^
      • 位取反操作: ~

      1)、加法操作: +

      语法: A + B
      操作类型:所有数值类型
      说明:返回A与B相加的结果。结果的数值类型等于A的类型和B的类型的最小父类型(详见数据类型的继承关系)。比如,int + int 一般结果为int类型,而int + double 一般结果为double类型
      举例:
      hive> select 1 + 9 from dual;
      10
      

      2)、减法操作: -

      语法: A – B
      操作类型:所有数值类型
      说明:返回A与B相减的结果。结果的数值类型等于A的类型和B的类型的最小父类型(详见数据类型的继承关系)。比如,int – int 一般结果为int类型,而int – double 一般结果为double类型
      举例:
      hive> select 10 – 5 from dual;
      5
      

      3)、乘法操作 : *

      语法: A * B
      操作类型:所有数值类型
      说明:返回A与B相乘的结果。结果的数值类型等于A的类型和B的类型的最小父类型(详见数据类型的继承关系)。注意,如果A乘以B的结果超过默认结果类型的数值范围,则需要通过cast将结果转换成范围更大的数值类型
      举例:
      hive> select 40 * 5 from dual;
      200
      

      4)、除法操作 : /

      语法: A / B
      操作类型:所有数值类型
      说明:返回A除以B的结果。结果的数值类型为double
      举例:
      hive> select 40 / 5 from dual;
      8.0
       
      注意: hive 中最高精度的数据类型是 double, 只精确到小数点后 16 位,在做除法运算的时候要 特别注意
      hive>select ceil(28.0/6.999999999999999999999) from dual limit 1;   
      结果为4
      hive>select ceil(28.0/6.99999999999999) from dual limit 1;          
      结果为5
      

      5)、取余操作 : %

      语法: A % B
      操作类型:所有数值类型
      说明:返回A除以B的余数。结果的数值类型等于A的类型和B的类型的最小父类型(详见数据类型的继承关系)。
      举例:
      hive> select 41 % 5 from dual;
      1
      hive> select 8.4 % 4 from dual;
      0.40000000000000036
      注意:精度在 hive 中是个很大的问题,类似这样的操作最好通过 round 指定精度
      hive> select round(8.4 % 4 , 2) from dual;
      0.4
      

      6)、位与操作 : &

      语法: A & B
      操作类型:所有数值类型
      说明:返回A和B按位进行与操作的结果。结果的数值类型等于A的类型和B的类型的最小父类型(详见数据类型的继承关系)。
      举例:
      hive> select 4 & 8 from dual;
      0
      hive> select 6 & 4 from dual;
      4
      

      7)、位或操作 : |

      语法: A | B
      操作类型:所有数值类型
      说明:返回A和B按位进行或操作的结果。结果的数值类型等于A的类型和B的类型的最小父类型(详见数据类型的继承关系)。
      举例:
      hive> select 4 | 8 from dual;
      12
      hive> select 6 | 8 from dual;
      14
      

      8)、位异或操作 : ^

      语法: A ^ B
      操作类型:所有数值类型
      说明:返回A和B按位进行异或操作的结果。结果的数值类型等于A的类型和B的类型的最小父类型(详见数据类型的继承关系)。
      举例:
      hive> select 4 ^ 8 from dual;
      12
      hive> select 6 ^ 4 from dual;
      2
      

      9)、位取反操作 : ~

      语法: ~A
      操作类型:所有数值类型
      说明:返回A按位取反操作的结果。结果的数值类型等于A的类型。
      举例:
      hive> select ~6 from dual;
      -7
      hive> select ~4 from dual;
      -5
      

      2、逻辑运算

      • 逻辑与操作: AND
      • 逻辑或操作: OR
      • 逻辑非操作: NOT

      1)、逻辑与操作 : AND

      语法: A AND B
      操作类型:boolean
      说明:如果A和B均为TRUE,则为TRUE;否则为FALSE。如果A为NULL或B为NULL,则为NULL
      举例:
      hive> select 1 from dual where 1=1 and 2=2;
      1
      

      2)、逻辑或操作 : OR

      语法: A OR B
      操作类型:boolean
      说明:如果A为TRUE,或者B为TRUE,或者A和B均为TRUE,则为TRUE;否则为FALSE
      举例:
      hive> select 1 from dual where 1=2 or 2=2;
      1
      

      3)、逻辑非操作 : NOT

      语法: NOT A
      操作类型:boolean
      说明:如果A为FALSE,或者A为NULL,则为TRUE;否则为FALSE
      举例:
      hive> select 1 from dual where not 1=2;
      

      4)、逻辑非操作 : NOT

      语法: NOT A
      操作类型:boolean
      说明:如果A为FALSE,或者A为NULL,则为TRUE;否则为FALSE
      举例:
      hive> select 1 from dual where  not 1=2 ;
      

      三、数值运算

      • 取整函数: round
      • 指定精度取整函数: round
      • 向下取整函数: floor
      • 向上取整函数: ceil
      • 向上取整函数: ceiling
      • 取随机数函数: rand
      • 自然指数函数: exp
      • 以10为底对数函数: log10
      • 以2为底对数函数: log2
      • 对数函数: log
      • 幂运算函数: pow
      • 幂运算函数: power
      • 开平方函数: sqrt
      • 二进制函数: bin
      • 十六进制函数: hex
      • 反转十六进制函数: unhex
      • 进制转换函数: conv
      • 绝对值函数: abs
      • 正取余函数: pmod
      • 正弦函数: sin
      • 反正弦函数: asin
      • 余弦函数: cos
      • 反余弦函数: acos
      • positive函数: positive
      • negative函数: negative

      1、取整函数 : round

      语法: round(double a)
      返回值: BIGINT
      说明: 返回double类型的整数值部分 (遵循四舍五入)
      举例:
      hive> select round(3.1415926) from dual;
      3
      hive> select round(3.5) from dual;
      4
      hive> create table dual as select round(9542.158) from dual;
      hive> describe dual;
      _c0     bigint
      

      2、指定精度取整函数 : round

      语法: round(double a, int d)
      返回值: DOUBLE
      说明: 返回指定精度d的double类型
      举例:
      hive> select round(3.1415926,4) from dual;
      3.1416
      

      3、向下取整函数 : floor

      语法: floor(double a)
      返回值: BIGINT
      说明: 返回等于或者小于该double变量的最大的整数
      举例:
      hive> select floor(3.1415926) from dual;
      3
      hive> select floor(25) from dual;
      25
      

      4、向上取整函数 : ceil

      语法: ceil(double a)
      返回值: BIGINT
      说明: 返回等于或者大于该double变量的最小的整数
      举例:
      hive> select ceil(3.1415926) from dual;
      4
      hive> select ceil(46) from dual;
      46
      

      5、向上取整函数 : ceiling

      语法: ceiling(double a)
      返回值: BIGINT
      说明: 与ceil功能相同
      举例:
      hive> select ceiling(3.1415926) from dual;
      4
      hive> select ceiling(46) from dual;
      46
      

      6、取随机数函数 : rand

      语法: rand(),rand(int seed)
      返回值: double
      说明: 返回一个0到1范围内的随机数。如果指定种子seed,则会等到一个稳定的随机数序列
      举例:
      hive> select rand() from dual;
      0.5577432776034763
      

      7、自然指数函数 : exp

      语法: exp(double a)
      返回值: double
      说明: 返回自然对数e的a次方
      举例:
      hive> select exp(2) from dual;
      7.38905609893065
      

      8、自然对数函数: ln

      语法: ln(double a)
      返回值: double
      说明: 返回a的自然对数
      

      9、以 10 为底对数函数 : log10

      语法: log10(double a)
      返回值: double
      说明: 返回以10为底的a的对数
      举例:
      hive> select log10(100) from dual;
      2.0
      

      10、以 2 为底对数函数 : log2

      语法: log2(double a)
      返回值: double
      说明: 返回以2为底的a的对数
      举例:
      hive> select log2(8) from dual;
      3.0
      

      11、对数函数 : log

      语法: log(double base, double a)
      返回值: double
      说明: 返回以base为底的a的对数
      举例:
      hive> select log(4,256) from dual;
      4.0
      

      12、幂运算函数 : pow

      语法: pow(double a, double p)
      返回值: double
      说明: 返回a的p次幂
      举例:
      hive> select pow(2,4) from dual;
      16.0
      

      13、幂运算函数 : power

      语法: power(double a, double p)
      返回值: double
      说明: 返回a的p次幂,与pow功能相同
      举例:
      hive> select power(2,4) from dual;
      16.0
      

      14、开平方函数 : sqrt

      语法: sqrt(double a)
      返回值: double
      说明: 返回a的平方根
      举例:
      hive> select sqrt(16) from dual;
      4.0
      

      15、二进制函数 : bin

      语法: bin(BIGINT a)
      返回值: string
      说明: 返回a的二进制代码表示
      举例:
      hive> select bin(7) from dual;
      111
      

      16、十六进制函数 : hex

      语法: hex(BIGINT a)
      返回值: string
      说明: 如果变量是int类型,那么返回a的十六进制表示;如果变量是string类型,则返回该字符串的十六进制表示
      举例:
      hive> select hex(17) from dual;
      11
      hive> select hex(‘abc’) from dual;
      616263
      

      17、反转十六进制函数 : unhex

      语法: unhex(string a)
      返回值: string
      说明: 返回该十六进制字符串所代码的字符串
      举例:
      hive> select unhex(‘616263’) from dual;
      abc
      hive> select unhex(‘11’) from dual;
      -
      hive> select unhex(616263) from dual;
      abc
      

      18、进制转换函数 : conv

      语法: conv(BIGINT num, int from_base, int to_base)
      返回值: string
      说明: 将数值num从from_base进制转化到to_base进制
      举例:
      hive> select conv(17,10,16) from dual;
      11
      hive> select conv(17,10,2) from dual;
      10001
      

      19、绝对值函数 : abs

      语法: abs(double a)   abs(int a)
      返回值: double        int
      说明: 返回数值a的绝对值
      举例:
      hive> select abs(-3.9) from dual;
      3.9
      hive> select abs(10.9) from dual;
      10.9
      

      20、正取余函数 : pmod

      语法: pmod(int a, int b),pmod(double a, double b)
      返回值: int double
      说明: 返回正的a除以b的余数
      举例:
      hive> select pmod(9,4) from dual;
      1
      hive> select pmod(-9,4) from dual;
      3
      

      21、正弦函数 : sin

      语法: sin(double a)
      返回值: double
      说明: 返回a的正弦值
      举例:
      hive> select sin(0.8) from dual;
      0.7173560908995228
      

      22、反正弦函数 : asin

      语法: asin(double a)
      返回值: double
      说明: 返回a的反正弦值
      举例:
      hive> select asin(0.7173560908995228) from dual;
      0.8
      

      23、余弦函数 : cos

      语法: cos(double a)
      返回值: double
      说明: 返回a的余弦值
      举例:
      hive> select cos(0.9) from dual;
      0.6216099682706644
      

      24、反余弦函数 : acos

      语法: acos(double a)
      返回值: double
      说明: 返回a的反余弦值
      举例:
      hive> select acos(0.6216099682706644) from dual;
      0.9
      

      25、positive 函数 : positive

      语法: positive(int a), positive(double a)
      返回值: int double
      说明: 返回a
      举例:
      hive> select positive(-10) from dual;
      -10
      hive> select positive(12) from dual;
      12
      

      26、negative 函数 : negative

      语法: negative(int a), negative(double a)
      返回值: int double
      说明: 返回-a
      举例:
      hive> select negative(-5) from dual;
      5
      hive> select negative(8) from dual;
      -8
      

      四、日期函数

      • UNIX时间戳转日期函数: from_unixtime
      • 获取当前UNIX时间戳函数: unix_timestamp
      • 日期转UNIX时间戳函数: unix_timestamp
      • 指定格式日期转UNIX时间戳函数: unix_timestamp
      • 日期时间转日期函数: to_date
      • 日期转年函数: year
      • 日期转月函数: month
      • 日期转天函数: day
      • 日期转小时函数: hour
      • 日期转分钟函数: minute
      • 日期转秒函数: second
      • 日期转周函数: weekofyear
      • 日期比较函数: datediff
      • 日期增加函数: date_add
      • 日期减少函数: date_sub

      1、UNIX 时间戳转日期函数 : from_unixtime

      语法: from_unixtime(bigint unixtime[, string format])
      返回值: string
      说明: 转化UNIX时间戳(从1970-01-01 00:00:00 UTC到指定时间的秒数)到当前时区的时间格式
      举例:
      hive> select from_unixtime(1323308943,'yyyyMMdd') from dual;
      20111208
      

      2、获取当前 UNIX 时间戳函数 : unix_timestamp

      语法: unix_timestamp()
      返回值: bigint
      说明: 获得当前时区的UNIX时间戳
      举例:
      hive> select unix_timestamp() from dual;
      1323309615
      

      3、日期转 UNIX 时间戳函数 : unix_timestamp

      语法: unix_timestamp(string date)
      返回值: bigint
      说明: 转换格式为"yyyy-MM-dd HH:mm:ss"的日期到UNIX时间戳。如果转化失败,则返回0。
      举例:
      hive> select unix_timestamp('2011-12-07 13:01:03') from dual;
      1323234063
      

      4、指定格式日期转 UNIX 时间戳函数 : unix_timestamp

      语法: unix_timestamp(string date, string pattern)
      返回值: bigint
      说明: 转换pattern格式的日期到UNIX时间戳。如果转化失败,则返回0。
      举例:
      hive> select unix_timestamp('20111207 13:01:03','yyyyMMdd HH:mm:ss') from dual;
      1323234063
      

      5、日期时间转日期函数 : to_date

      语法: to_date(string timestamp)
      返回值: string
      说明: 返回日期时间字段中的日期部分。
      举例:
      hive> select to_date('2011-12-08 10:03:01') from dual;
      2011-12-08
      

      6、日期转年函数 : year

      语法: year(string date)
      返回值: int
      说明: 返回日期中的年。
      举例:
      hive> select year('2011-12-08 10:03:01') from dual;
      2011
      hive> select year('2012-12-08') from dual;
      2012
      

      7、日期转月函数 : month

      语法: month (string date)
      返回值: int
      说明: 返回日期中的月份。
      举例:
      hive> select month('2011-12-08 10:03:01') from dual;
      12
      hive> select month('2011-08-08') from dual;
      8
      

      8、日期转天函数 : day

      语法: day (string date)
      返回值: int
      说明: 返回日期中的天。
      举例:
      hive> select day('2011-12-08 10:03:01') from dual;
      8
      hive> select day('2011-12-24') from dual;
      24
      

      9、日期转小时函数 : hour

      语法: hour (string date)
      返回值: int
      说明: 返回日期中的小时。
      举例:
      hive> select hour('2011-12-08 10:03:01') from dual;
      10
      

      10、日期转分钟函数 : minute

      语法: minute (string date)
      返回值: int
      说明: 返回日期中的分钟。
      举例:
      hive> select minute('2011-12-08 10:03:01') from dual;
      3
      

      11、日期转秒函数 : second

      语法: second (string date)
      返回值: int
      说明: 返回日期中的秒。
      举例:
      hive> select second('2011-12-08 10:03:01') from dual;
      1
      

      12、日期转周函数 : weekofyear

      语法: weekofyear (string date)
      返回值: int
      说明: 返回日期在当前的周数。
      举例:
      hive> select weekofyear('2011-12-08 10:03:01') from dual;
      49 
      

      13、日期比较函数 : datediff

      语法: datediff(string enddate, string startdate)
      返回值: int
      说明: 返回结束日期减去开始日期的天数。
      举例:
      hive> select datediff('2012-12-08','2012-05-09') from dual;
      213
      

      14、日期增加函数 : date_add

      语法: date_add(string startdate, int days)
      返回值: string
      说明: 返回开始日期startdate增加days天后的日期。
      举例:
      hive> select date_add('2012-12-08',10) from dual;
      2012-12-18
      

      15、日期减少函数 : date_sub

      语法: date_sub (string startdate, int days)
      返回值: string
      说明: 返回开始日期startdate减少days天后的日期。
      举例:
      hive> select date_sub('2012-12-08',10) from dual;
      2012-11-28
      

      五、条件函数

      • If函数: if
      • 非空查找函数: COALESCE
      • 条件判断函数:CASE

      1、If 函数 : if

      语法: if(boolean testCondition, T valueTrue, T valueFalseOrNull)
      返回值: T
      说明:  当条件testCondition为TRUE时,返回valueTrue;否则返回valueFalseOrNull
      举例:
      hive> select if(1=2,100,200) from dual;
      200
      hive> select if(1=1,100,200) from dual;
      100
      

      2、非空查找函数 : COALESCE

      语法: COALESCE(T v1, T v2, …)
      返回值: T
      说明:  返回参数中的第一个非空值;如果所有值都为NULL,那么返回NULL
      举例:
      hive> select COALESCE(null,'100','50′) from dual;
      100
      

      3、条件判断函数: CASE

      语法 : CASE a WHEN b THEN c [WHEN d THEN e]* [ELSE f] END
      返回值 : T
      说明:如果 a 等于 b ,那么返回 c ;如果 a 等于 d ,那么返回 e ;否则返回 f
      举例:
      hive> Select case 100 when 50 then 'tom' when 100 then 'mary' else 'tim' end from dual;
      mary
      

      六、字符串函数

      • 字符串长度函数:length
      • 字符串反转函数:reverse
      • 字符串连接函数:concat
      • 带分隔符字符串连接函数:concat_ws
      • 字符串截取函数:substr,substring
      • 字符串转大写函数:upper,ucase
      • 字符串转小写函数:lower,lcase
      • 去空格函数:trim
      • 左边去空格函数:ltrim
      • 右边去空格函数:rtrim
      • 正则表达式替换函数:regexp_replace
      • 正则表达式解析函数:regexp_extract
      • URL解析函数:parse_url
      • json解析函数:get_json_object
      • 空格字符串函数:space
      • 重复字符串函数:repeat
      • 首字符ascii函数:ascii
      • 左补足函数:lpad
      • 右补足函数:rpad
      • 分割字符串函数: split
      • 集合查找函数: find_in_set

      1、字符串长度函数: length

      语法: length(string A)
      返回值: int
      说明:返回字符串A的长度
      举例:
      hive> select length('abcedfg') from dual;
      7
      

      2、字符串反转函数: reverse

      语法: reverse(string A)
      返回值: string
      说明:返回字符串A的反转结果999999举例:
      hive> select reverse(abcedfg’) from dual;
      gfdecba
      

      等等,自行去搜官方文档看吧,太多了。 以上,详细的介绍了hive的关系运算、逻辑预算、数学运算、数值运算、日期函数、条件函数和字符串函数的语法与使用示例。

      版权声明:本文内容来自第三方投稿或授权转载,原文地址:https://blog.51cto.com/alanchan2win/6430250,作者:一瓢一瓢的饮,版权归原作者所有。本网站转在其作品的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如因作品内容、版权等问题需要同本网站联系,请发邮件至ctyunbbs@chinatelecom.cn沟通。

      上一篇:MySQL 复制表

      下一篇:java 输出语句与“\r”那些事儿

      相关文章

      2025-04-23 08:18:38

      【Hive】使用Ambari修改 默认队列

      【Hive】使用Ambari修改 默认队列

      2025-04-23 08:18:38
      hive , 修改 , 配置文件 , 队列
      2025-04-18 07:10:38

      hadoop-hdfs简介及常用命令详解(超详细)

      HDFS(Hadoop Distributed File System)是Apache Hadoop生态系统中的分布式文件系统,用于存储和处理大规模数据集。HDFS具有高容错性、高可靠性和高吞吐量的特点,适用于大数据处理和分析场景。

      2025-04-18 07:10:38
      file , hadoop , HDFS , txt , user , 文件 , 目录
      2025-04-14 08:45:56

      【Hadoop】YARN多资源队列配置及使用实践

      【Hadoop】YARN多资源队列配置及使用实践

      2025-04-14 08:45:56
      ci , hadoop , mapreduce , yarn , 大数据
      2025-03-28 07:40:23

      启动hadoop集群时报错ERROR: Attempting to operate on hdfs namenode as root

      启动hadoop集群时报错ERROR: Attempting to operate on hdfs namenode as root

      2025-03-28 07:40:23
      hadoop , root
      2025-03-28 07:40:23

      hive执行分区修复语句(MSCK REPAIR TABLE)时报FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.

      hive执行分区修复语句(MSCK REPAIR TABLE)时报FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.

      2025-03-28 07:40:23
      hdfs , hive , 分区 , 目录
      2025-03-17 08:27:30

      【配置/认证】Authentication for Hadoop(3.3.1) HTTP web-consoles : Hadoop的simple认证 不是银弹

      【配置/认证】Authentication for Hadoop(3.3.1) HTTP web-consoles : Hadoop的simple认证 不是银弹

      2025-03-17 08:27:30
      hadoop , Hadoop , HTTP , user , web
      2025-03-12 09:31:44

      【基础-配置文件】:hadoop配置文件作用概述ing

      【基础-配置文件】:hadoop配置文件作用概述ing

      2025-03-12 09:31:44
      hadoop , xml , yarn , 配置文件
      2025-03-11 09:35:39

      【002hive基础】hive的库、表与hdfs的组织逻辑

      【002hive基础】hive的库、表与hdfs的组织逻辑

      2025-03-11 09:35:39
      hive , 存储 , 数据 , 视图
      2025-03-11 09:35:31

      【数据仓库设计基础(三)】数据集市

      【数据仓库设计基础(三)】数据集市

      2025-03-11 09:35:31
      数据 , 数据仓库 , 维度 , 设计
      2025-03-11 09:35:31

      【数据仓库设计基础(四)】数据仓库实施步骤

      【数据仓库设计基础(四)】数据仓库实施步骤

      2025-03-11 09:35:31
      分区 , 数据 , 数据仓库 , 系统 , 需要
      查看更多
      推荐标签

      作者介绍

      天翼云小翼
      天翼云用户

      文章

      33561

      阅读量

      5228547

      查看更多

      最新文章

      漫谈大数据 - Spark on Hive & Hive on Spark

      2025-02-28 09:27:35

      漫谈大数据 - HiveSQL总结(一)库表操作

      2025-02-10 08:56:13

      大数据ClickHouse进阶(十三):ClickHouse的GROUP BY 子句

      2024-11-05 08:58:14

      关于数据仓库

      2024-10-21 09:43:12

      hive——创建表不支持新增字段问题

      2024-09-25 10:14:48

      oracle学习11-开启归档模式

      2024-06-12 09:24:21

      查看更多

      热门文章

      hive 搭建数据仓库

      2023-06-25 06:53:58

      hive时间和字符串互转,时间函数

      2023-08-01 08:54:03

      【clickhouse专栏】数据库、数据仓库之间的区别与联系

      2023-06-27 10:00:34

      hive之生成唯一id

      2023-08-04 08:44:32

      hive运算时类型自动转化问题

      2023-08-01 08:54:03

      sqoop从mysql导入到hive常见问题

      2023-08-04 08:44:32

      查看更多

      热门标签

      数据库 mysql 字符串 数据结构 MySQL 算法 redis oracle java sql python 数据 索引 SQL 查询
      查看更多

      相关产品

      弹性云主机

      随时自助获取、弹性伸缩的云服务器资源

      天翼云电脑(公众版)

      便捷、安全、高效的云电脑服务

      对象存储

      高品质、低成本的云上存储服务

      云硬盘

      为云上计算资源提供持久性块存储

      查看更多

      随机文章

      Hive-JDBC round(num, 0)取整问题记录

      漫谈大数据 - HiveSQL总结(一)库表操作

      hive之生成唯一id

      crontab任务以user用户执行hive -f命令不生效解决记录

      漫谈大数据 - Spark on Hive & Hive on Spark

      JDBC getColumnLabel和getColumnName区别及自动解析查询字段

      • 7*24小时售后
      • 无忧退款
      • 免费备案
      • 专家服务
      售前咨询热线
      400-810-9889转1
      关注天翼云
      • 旗舰店
      • 天翼云APP
      • 天翼云微信公众号
      服务与支持
      • 备案中心
      • 售前咨询
      • 智能客服
      • 自助服务
      • 工单管理
      • 客户公告
      • 涉诈举报
      账户管理
      • 管理中心
      • 订单管理
      • 余额管理
      • 发票管理
      • 充值汇款
      • 续费管理
      快速入口
      • 天翼云旗舰店
      • 文档中心
      • 最新活动
      • 免费试用
      • 信任中心
      • 天翼云学堂
      云网生态
      • 甄选商城
      • 渠道合作
      • 云市场合作
      了解天翼云
      • 关于天翼云
      • 天翼云APP
      • 服务案例
      • 新闻资讯
      • 联系我们
      热门产品
      • 云电脑
      • 弹性云主机
      • 云电脑政企版
      • 天翼云手机
      • 云数据库
      • 对象存储
      • 云硬盘
      • Web应用防火墙
      • 服务器安全卫士
      • CDN加速
      热门推荐
      • 云服务备份
      • 边缘安全加速平台
      • 全站加速
      • 安全加速
      • 云服务器
      • 云主机
      • 智能边缘云
      • 应用编排服务
      • 微服务引擎
      • 共享流量包
      更多推荐
      • web应用防火墙
      • 密钥管理
      • 等保咨询
      • 安全专区
      • 应用运维管理
      • 云日志服务
      • 文档数据库服务
      • 云搜索服务
      • 数据湖探索
      • 数据仓库服务
      友情链接
      • 中国电信集团
      • 189邮箱
      • 天翼企业云盘
      • 天翼云盘
      ©2025 天翼云科技有限公司版权所有 增值电信业务经营许可证A2.B1.B2-20090001
      公司地址:北京市东城区青龙胡同甲1号、3号2幢2层205-32室
      • 用户协议
      • 隐私政策
      • 个人信息保护
      • 法律声明
      备案 京公网安备11010802043424号 京ICP备 2021034386号