1

时间格式汇总

1.  两个日期相减 date_diff 

datediff('2019-07-27',activity_date) between 0 and 29

 

2.  日期与数字相减或者相加

1. mysql 如下语法 
where
activity_date between date_add("2019-07-27",interval -29 day) and "2019-07-27"
或者date_sub

2. hive如下语法

spark-sql> SELECT
> id,
> name,
> event_date,
> date_sub(event_date, 7) AS adjusted_date
> FROM
> example_table;

 

 

3 日期格式问题.

 

1. 将字符串转换为日期 HIVE格式

SELECT to_date('2024-08-23', 'yyyy-MM-dd') AS date_col;  

2. 将日期转换为字符串 HIVE格式

SELECT date_format(event_start, 'yyyy/MM/dd') AS formatted_dat  from  events ; 这个方式能获取到 字符串年月譬如

park-sql> select date_format(event_start, 'yyyy-MM') FROM EVENTS;
2024-01
2024-03
2024-07

 

4. 提取日期的年、月、日

SELECT
year(current_date) AS year_part,
month(current_date) AS month_part,
day(current_date) AS day_part;

 

 

DATE_FORMAT(order_date , '%Y-%m')        


LEFT(order_date ,7) month  

 

 

4. 周函数

如下是 hive的函数

select dayofweek ('2022-02-27') ; --dayofweek展示的是周几 共计 7个值 , 6代表周五

=1

select weekofyear('2022-12-22') ;
--51

 

 

5.HIVE获取当前日期

         > SELECT CURRENT_DATE;   这个 mysql 和 hive语法一样.
2024-08-23
Time taken: 0.301 seconds, Fetched 1 row(s)

> SELECT current_timestamp ;   -- 这个 mysql 和 hive一样
2024-08-23 14:20:34.285

 

> SELECT date_format(current_timestamp, 'yyyy-MM-dd HH:mm:ss') AS current_datetime;
2024-08-23 14:20:04

  

posted @ 2024-08-22 20:25  萌哥-爱学习  阅读(3)  评论(0编辑  收藏  举报