zoukankan      html  css  js  c++  java
  • HIVE SQL教程

    日期处理函数

    1.date_format:将日期进行格式化

    语法:date_format(日期,格式)

    作用:把一个字符串日期格式化为指定的格式

    年月日,时分秒:'yyyy-MM-dd HH:mm:ss'

    select date_format('2017-01-01','yyyy-MM-dd HH:mm:ss');  --日期字符串必须满足yyyy-MM-dd格式    

    2.date_add、date_sub函数(加减日期)

    作用:把一个字符串日期格式加一天、减一天。

    select date_add('2019-01-01',1); --字符串必须满足yyyy-MM-dd格式

    select date_sub('2019-01-01',1); --字符串必须满足yyyy-MM-dd格式 

    select to_char(date_sub(from_unixtime(unix_timestamp(now(),'YYYY-MM-DD HH:mm:ss'),'yyyy-MM-dd'),30),'yyyymmdd')

    3.next_day函数

    作用:得到一个字符串日期的下周几的具体日期

    星期日 Sunday Sun.

    星期一 Monday Mon.

    星期二 Tuesday Tues.

    星期三 Wednesday Wed.

    星期四 Thursday Thur./Thurs.

    星期五 Friday Fri.

    星期六 Saturday Sat.

    select next_day('2020-01-01','Fri');    --得到2020-01-01往后的第一个周五

    4.last_day函数(求当月最后一天日期)

    作用:求当月的最后一天日期

    select last_day('2020-01-01');

    结果:select last_day('2020-01-01');

    5.获取当月第一天

    TRUNC函数为指定元素而截去的日期值。
    其具体的语法格式如下:
    TRUNC(date[,fmt])
    其中:date 一个日期值
    fmt 日期格式,该日期将由指定的元素格式所截去。忽略它则由最近的日期截去

    select trunc(date('2021-08-04'),'MM')

    6.获取当前时间

    current_date

    或者

    now()

    current_date()

      作用:得到当前的日期字符串

    select current_date();

      结果:2020-01-01

    时间戳处理函数

    1.unix_timestemp

    语法:('日期字符串',‘pattern’)   

    作用:把指定格式的日期转成时间戳,即转换成距离最早的时间之间的秒数

    默认不填pattern的话,输入的日期字符串格式必须为:'yyyy-MM-dd HH:dd:ss',否则会返回空

    例如:select unix_timestamp('2021-08-04 17:48:48')

    如果不填任何参数就是当前系统时间戳

    例如:select unix_timestamp()

    结果为:

    1628071166

    日期格式必须和pattern指定格式一样,否则返回空

    select unix_timestamp('2021-08-04 17:48:48','yyyy-MM-dd HH:mm:ss')

    2.from_unixtime

    语法:(‘bigint时间戳’,‘pattern’)函数

    作用:把一个大数字时间戳,转换为指定格式的日期字符串

    select from_unixtime(1517725479,'yyyy-MM-dd HH:dd:ss');

    select from_unixtime(1517725479,'yyyyMMdd');

    结果:2018-02-04 14:04:39

    20180204

    常把1和2一起用

    select from_unixtime(unix_timestamp(now(),'yyyy-MM-dd HH:mm:ss'))

    3.dateadd函数

    减去指定周期时间,

    hh:小时、mi:分钟、ss是秒

    dd:日、MM:月

    select dateadd(from_unixtime(unix_timestamp('2021-08-05 13:00:00','yyyy-MM-dd HH:mm:ss')),-60,'mi')

    字符串处理函数

    1.to_char

    将日期类型的时间,转换成时间字符串,并按照指定格式输出

    月是小mm:yyyymmdd

    select to_char(dateadd(from_unixtime(unix_timestamp('2021-08-05 13:00:00','yyyy-MM-dd HH:mm:ss')),-60,'mi'),'yyyymmdd')

    2.cast字符串转换为int

    方法1:

    cast(start_time AS BIGINT) 

    方法2:

    select unix_timestamp()-int(unix_timestamp(event_time))

  • 相关阅读:
    10分钟学会React Context API
    Soft skill
    前端-页面性能调试:Hiper
    js对secure的支持是没问题的,httponly是为限制js而产生的,当然httponly的cookie也不会被js创建
    关于go的不爽
    Windows上mxnet实战深度学习:Neural Net
    wget获取https资源
    使用windows上 mxnet 预编译版本
    NVIDA 提到的 深度框架库
    Windows下编译mxnet
  • 原文地址:https://www.cnblogs.com/T-CYP/p/15100174.html
Copyright © 2011-2022 走看看