一些hive中常用的时间函数

select
    day                                         -- 时间字段
   ,trunc(day,'MM')                             -- 当月第一天
   ,last_day(day)                               -- 当月最后一天
   ,date_sub(concat(substr(add_months(a.due_date,1),1,7),'-01'),1)      --当月最后一天
   ,trunc(day,'YY')                             -- 当年第一天
   ,last_day(add_months(trunc(day,'YY'),11))    -- 当年最后一天
   ,second(day)                                 -- 秒钟
   ,minute(day)                                 -- 分钟
   ,hour(day)                                   -- 小时
   ,day(day)                                    -- 日期
   ,month(day)                                  -- 月份
   ,year(day)                                   -- 年份
   ,substr(day,1,4)                             -- 年份
from (
    select '2020-01-02 01:01:01' as day union all
    select '2020-02-02 02:03:04' as day union all
    select '2020-03-02 03:05:07' as day union all
    select '2018-04-02' as day
) t1
;
unix_timestamp(etime) - unix_timestamp(stime)-- 为两列时间戳的秒数之差,再除以60即为分钟数

一些postgre中常用的时间函数

date_trunc('month','{{ ds }}'::date)            -- 当月第一天
date_trunc('month','{{ ds }}'::date) + interval'1 month - 1 day'  -- 当月最后一天
select date_trunc('month',current_date) - interval'1 day' --上个月最后一天

一闪一闪
7 声望2 粉丝