hiveSQL常用日期函数
注意 MM,DD,MO,TU 等要大写
Hive 可以在 where 条件中使用 case when
已知日期 |
要求日期 |
语句 |
结果 |
本周任意一天 |
本周一 |
select date_sub(next_day('2016-11-29','MO'),7) ; |
2016-11-28 |
本周任意一天 |
上周一 |
select date_sub(next_day('2016-11-29','MO'),14) ; |
2016-11-21 |
本周任意一天 |
本周二 |
select date_sub(next_day('2016-11-29','MO'),6) |
2016-11-29 |
本周任意一天 |
上周二 |
select date_sub(next_day('2016-11-29','MO'),13) ; |
2016-11-22 |
本周任意一天 |
上周末 |
select date_sub(next_day('2016-11-29','MO'),8) ; |
2016-11-27 |
本月任意一天 |
上月末 |
select date_sub(trunc('2016-11-02','MM'),1); |
2016-10-31 |
本月任意一天 |
上月初 |
select trunc(add_months('2016-11-02',-1),'MM') |
2016-10-01 |
本月任意一天 |
本月初 |
select trunc('2016-11-02','MM') |
2016-11-01 |
本月任意一天 |
上上月26 |
select date_add(add_months(trunc('2016-11-02','MM'),-2),25) ; |
2016-09-26 |
本月任意一天 |
上月26 |
select date_add(add_months(trunc('2016-11-02','MM'),-1),25) ; |
2016-10-26 |
当前时间戳 |
select current_timestamp() ; |
2016-11-30 15:18:06.276 |
|
当前时间 |
select current_date() ; |
2016-11-30 |
|
本季度任意一天 |
上季度初 |
case quarter('2016-05-23') when 1 then concat(year('2016-05-23')-1,'-10-01') when 2 then concat(year('2016-05-23'),'-01-01') when 3 then concat(year('2016-05-23'),'-04-01') when 4 then concat(year('2016-05-23'),'-07-01') end 或 add_months(concat(year('2017-02-23'),'-',substr(concat('0',quarter('2017-02-23')*3+1),-2),'-01'),-6) |
|
本季度任意一天 |
本季度初 |
case quarter('2016-05-23') when 1 then concat(year('2016-05-23'),'-01-01') when 2 then concat(year('2016-05-23'),'-04-01') when 3 then concat(year('2016-05-23'),'-07-01') when 4 then concat(year('2016-05-23'),'-10-01') end 或 add_months(concat(year('2017-02-23'),'-',substr(concat('0',quarter('2017-02-23')*3+1),-2),'-01'),-3) |
|
hiveSQL常用日期函数的更多相关文章
- SQL常用日期函数
原文:http://www.cnblogs.com/coconut_zhang/archive/2009/02/02/1382598.html 1. 当前系统日期.时间 select getdate( ...
- 【hive 日期函数】Hive常用日期函数整理
1.to_date:日期时间转日期函数 select to_date('2015-04-02 13:34:12');输出:2015-04-02122.from_unixtime:转化unix时间戳到当 ...
- MySql常用日期函数(转载)
/*date_add(date,interval expr type)和date_sub(date,interval expr type)执行日期运算. date 是一个 datetime 或date ...
- Oracle常用日期函数
常用的时间格式掩码如下:掩码元素 含义YYYY 四位数年份 (如:2005) yearYY 二位数年份(如 05) Q ...
- ORACLE 常用日期函数
1 . add_months(arg1,num) 返回日期arg1加num个月的新日期. select add_months(date'2011-1-1',1) from dual; result: ...
- C# 常用日期函数
我想知道取的时期是几月.几日,然后做一些统计,上网找了一些方法. --DateTime 数字型 System.DateTime currentTime=new System.DateTime(); 1 ...
- java常用日期函数总结
请记得要引入java.util.Date和java.text.SimpleDateFormat两个包 1.计算某一月份的最大天数 Calendar time=Calendar.getInstance( ...
- SQL中常用日期函数
--1 GETDATE() 返回当前系统日期SELECT GETDATE() --2 DATEADD(日期部分,常数,日期) 返回将日期的指定日期部分加常数后的结果返回 日期部分可以是: --常数为正 ...
- hive常用日期函数-模板
已知日期 要求日期 语句 结果 本周任意一天 本周一 select date_sub(next_day('2016-11-29','MO'),7) ; 2016-11-28 本周任意一天 上周一 se ...
随机推荐
- activiti学习3:流程引擎对象和流程引擎配置对象
目录 activiti学习3:流程引擎对象和流程引擎配置对象 一.activiti的简单使用流程 二.流程引擎配置对象ProcessEngineConfiguration的介绍 三.activiti配 ...
- IDEA的java源码文件左边有一个红色的J
解决办法: 如果源码文件这里已经有一个路径,那就添加现在的.java文件所在目录,或者删除了再重新添加
- 页码0~N ,其中0,1....9都出现了几次
/* 这道题目可以暴力解答:对1~n的每个数进行从低位到高位分析 一旦这个数字num出现,a[num]++即可 第二种方法: 由0,1,...9组成的所有n位数,从n个0到n个9共10^n个数,0,1 ...
- 嵌入式02 STM32 实验03 时钟系统
时钟系统是处理器的核心,所以认真学习时钟系统是必要的,有助于深入理解STM32. 由于STM32的外设很多,有的外设不需要太高的时钟频率,同一个电路,时钟越快功耗越大,同时抗电磁干扰能力也越弱,所以对 ...
- Linux基础(02)MakeFile的创建和使用
makefile是生成文件的脚本 , 把当前文件下的.c文件生成.o文件和可执行程序 SRC = $(wildcard *.c) OBJS = $(patsubst %.c,%.o,$(SRC)) C ...
- Golang 读写文件
读文件 func ReadFile_v1(filename string) { var ( err error content []byte ) fileObj,err := os.Open(file ...
- epoll原理
系统调用说明 epoll_create:在内核中创建epoll结构 epoll_ctl:add 1. 调用监听的文件的poll方法,设置callback 2. 设备就绪时唤醒等待队列上的进程,此时会调 ...
- S02_CH12_ AXI_Lite 总线详解
S02_CH12_ AXI_Lite 总线详解 12.1前言 ZYNQ拥有ARM+FPGA这个神奇的架构,那么ARM和FPGA究竟是如何进行通信的呢?本章通过剖析AXI总线源码,来一探其中的秘密. 1 ...
- React 语法
1.JavaScript XML JSX = JavaScript XML,是一个看起来很像 XML 的 JavaScript 语法扩展.JSX 不是模板,是JS语法本身,有更多的扩展.JSX 组件一 ...
- ssm(spring+springmvc+mybatis)整合之环境配置
1-1.导包 导入SpringMVC.Spring.MyBatis.mybatis-spring.mysql.druid.json.上传和下载.验证的包 1-2.创建并配置web.xml文件 配置sp ...