Hive--內建函式-日期函式
阿新 • • 發佈:2020-08-18
[root@centos00 ~]$ cd /opt/cdh5.14.2/hadoop-2.6.0-cdh5.14.2/ [root@centos00 hadoop-2.6.0-cdh5.14.2]$ sbin/hadoop-daemon.sh start namenode [root@centos00 hadoop-2.6.0-cdh5.14.2]$ sbin/hadoop-daemon.sh start datanode [root@centos00 ~]$ cd /opt/cdh5.14.2/hive-1.1.0-cdh5.14.2/ [root@centos00 hive-1.1.0-cdh5.14.2]$ bin/hive --service metastore & [root@centos00 hive-1.1.0-cdh5.14.2]# bin/hive // 獲取當前時間戳 hive (default)> SELECT current_timestamp; _c0 2020-08-17 23:02:58.793 hive (default)> SELECT current_timestamp(); _c0 2020-08-17 23:03:37.85 hive (default)> SELECT unix_timestamp(); _c0 1597673126 // 獲取當前時間 hive (default)> SELECT FROM_unixtime(unix_timestamp(), 'yyyy-MM-dd HH:mm:ss'); _c0 2020-08-17 23:04:59 // 獲取當前日期 hive (default)> SELECT SUBSTR(FROM_UNIXTIME(UNIX_TIMESTAMP()),1,10); _c0 2020-08-17 // 獲取結束日期減去開始日期的天數 hive (default)> SELECT DATEDIFF('2020-08-17','2020-08-16'); _c0 1 // 獲取開始日期減去10天后的日期 hive (default)> SELECT DATE_SUB('2020-08-17',10); _c0 2020-08-07 // 查詢最近30天的記錄 hive (default)> SELECT * FROM log; log.date log.pv 2020-08-16 100 2020-08-10 160 2020-08-08 90 2020-08-01 140 2020-07-16 200 2020-07-01 150 hive (default)> SELECT * FROM log WHERE DATEDIFF(current_timestamp,date) <= 30; log.date log.pv 2020-08-16 100 2020-08-10 160 2020-08-08 90 2020-08-01 140