hadoop自动获取时间

1、自动获取前15分钟

sql 复制代码
substr(from_unixtime(unix_timestamp(concat(substr('20240107100000',1,4),'-',substr('20240107100000',5,2),'-',substr('20240107100000',7,2),' ',substr('20240107100000',9,2),':',substr('20240107100000',11,2),':','00'))-15*60,'yyyyMMddHHmmss'),1)    


unix_timestamp :是将字符串的时间20240107100000转换成时间类型。
from_unixtime :将时间格式化
substr :转成字符串

最后15*60,将减去对应的秒数,作用是在当前时刻减去15分钟。利用这个逻辑可以减去其他时间,如一个小时,可以减去60*60。

2、获取当前时间

使用CURRENT_TIMESTAMP()

select CURRENT_TIMESTAMP();

±------------------------------+

| current_timestamp() |

±------------------------------+

| 2024-01-09 11:18:15.646162000 |

±------------------------------+

使用now()

select now();

±------------------------------+

| now() |

±------------------------------+

| 2024-01-09 11:18:28.925986000 |

±------------------------------+

这两个函数的作用是一致的,获取到的结果是时间戳。

另外可以在建表的时候,直接指定时间 datecreated timestamp NULL DEFAULT CURRENT_TIMESTAMP

但是不能将CURRENT_TIMESTAMP设置为1列以上。

要想只获取日期,不获取时间戳,用

sql 复制代码
to_date(now())

select to_date(now());

±---------------+

| to_date(now()) |

±---------------+

| 2024-01-09 |

±---------------+

其他不常用的时间:

sql 复制代码
-- 获取年份
select year(now())
-- 输出:2022
 
-- 获取季度
select quarter(now())
-- 输出:4
 
-- 获取月份
select month(now())
-- 输出:10
 
-- 获取月份英文名
select monthname(now())
-- 输出:October
 
-- 获取日期中的日
select day(now())
-- 输出:11
 
-- 获取小时
select HOUR(now())
-- 输出:14
 
-- 获取当天为每周第N天,周日为第一天
select DAYOFWEEK(now()) 
-- 输出:3
 
-- 获取明天(日期加减)
select date_add(now(),interval 1 days) 
-- 输出:2022-10-12 14:39:26.916

3、impala自动获取两天前,并输出string格式的时间

使用substr( regexp_replace(cast(date_sub(now(),2) as string),'-',''),1,8)

date_sub(now(),2) 取到前两天
cast() 转换成string
regexp_replace() 将时间戳中的'-'去掉

最后取到日期的前2天。

4、impala自动获取两天后,并输出string格式的时间

将上述 date_sub() 替换成date_add()。

select substr( regexp_replace(cast(date_add(now(),2) as string),'-',''),1,8);

5、impala获取本月有多少天

sql 复制代码
使用 select 
	32-dayofmonth(date_add(now(),+32-dayofmonth(now())))
相关推荐
渡我白衣5 分钟前
并行的野心与现实——彻底拆解 C++ 标准并行算法(<execution>)的模型、陷阱与性能真相
java·开发语言·网络·c++·人工智能·windows·vscode
czlczl200209256 分钟前
SpringBoot中web请求路径匹配的两种风格
java·前端·spring boot
bill44710 分钟前
BPMN2.0,flowable工作流指向多节点,并且只能选择其中一个节点的处理方式
java·工作流引擎·bpmn
2022.11.7始学前端13 分钟前
n8n第四节 表单触发器:让问卷提交自动触发企微消息推送
java·前端·数据库·n8n
稚辉君.MCA_P8_Java14 分钟前
Gemini永久会员 Hadoop分布式计算框架MapReduce
大数据·hadoop·分布式·架构·mapreduce
Catcharlotte16 分钟前
异常(3)
java
岁岁种桃花儿17 分钟前
Java应用篇如何基于Redis共享Session实现短信登录
java·开发语言
十八岁牛爷爷21 分钟前
快速入门从零开始一个qt程序开发,熟悉最主要的开发组件应用
数据库·qt·php
踢球的打工仔22 分钟前
mysql数据备份
数据库·mysql
罗光记24 分钟前
Solon AI 开发学习6- chat- 两种http 流式输入输出
数据库·百度·facebook·新浪微博·segmentfault