hive 中函数使用

to_date:

日期时间转日期函数
select to_date('2015-04-02 13:34:12');
输出:2015-04-02

mysql 中使用 str_to_date

date_sub()   

函数从日期减去指定的时间间隔

date_sub(date,n)

mysql: DATE_SUB(date,  INTERVAL  n  DAY)

DATE_ADD()  

函数向日期添加指定的时间间隔。

unix_timestamp、from_unixtime时间戳函数的使用

一、unix_timestamp函数用法 

1、unix_timestamp() 得到当前时间戳
2、如果参数date满足yyyy-MM-dd HH:mm:ss形式,则可以直接unix_timestamp(string date) 得到参数对应的时间戳

select unix_timestamp('2019-07-02 14:27:08.000000000')   =  

3、如果参数date满足yyyy-MM-dd形式,则我们需要指定date的形式,在进行转换
unix_timestamp(‘2009-03-20’, ‘yyyy-MM-dd’)=1237532400

 

二、from_unixtime函数用法 


语法:from_unixtime(t1,’yyyy-MM-dd HH:mm:ss’) 
其中t1是10位的时间戳值,即1970-1-1至今的秒,而13位的所谓毫秒的是不可以的。 
对于13位时间戳,需要截取,然后转换成bigint类型,因为from_unixtime类第一个参数只接受bigint类型。例如: 
select from_unixtime(cast(substring(tistmp,1,10) as bigint),’yyyy-MM-dd HH’)  tim ,count(*) cn from ttengine_hour_data where …

CAST函数用于将某种数据类型的表达式显式转换为另一种数据类型

substring:字符串截取

他们两个可以结合使用from_unixtime(unix_timestamp(date_created),'yyyy-MM-dd HH:mm:ss')来规范时间的格式。
--------------------- 
来源:CSDN 
原文:https://blog.csdn.net/qq_24309787/article/details/81095238 
 

你可能感兴趣的:(mysql)