首页 > 数据库 >Trino(PrestoSQL)和HiveSQL的时间格式转换对比

Trino(PrestoSQL)和HiveSQL的时间格式转换对比

时间:2024-02-27 11:00:59浏览次数:23  
标签:01 PrestoSQL -- HiveSQL 日期 2021 timestamp date Trino

1. 获取当前时间
--hive
select from_unixtime(unix_timestamp()); --> 2021-01-06 22:53:16 --精确到今天的时分秒
select from_unixtime(unix_timestamp('2021-12-07 13:01:03'),'yyyy-MM-dd HH:mm:ss'); -->2021-12-07 13:01:03 --精确到今天的时分秒指定格式
select current_date; --> 2021-01-06 -- 今天的年月日
select unix_timestamp(); --> 1609944783 --获取当前时间戳

--trino(presto)
select now();或者select current_timestamp --> 2021-01-06 22:49:08.899 Asia/Shanghai --精确到今天的时分秒毫秒且带时区
select current_date; --> 2021-01-06 -- 今天的年月日
select current_date - interval '1' day; --> 2021-01-05 --昨天的年月日

2.字符串日期转时间戳
--hive
select unix_timestamp('2021-01-08 10:36:15','yyyy-MM-dd HH:mm:ss') --> 输出long类型timestamp:1610073375

--trino(presto)
select to_unixtime(cast('2021-01-08 13:53:36' as timestamp)) --> 输出long类型timestamp:1610085216

3.时间戳转字符串日期
--hive
select from_unixtime(unix_timestamp(),'yyyy-MM-dd HH:mm:ss') -->输出varchar类型日期:2021-01-08 15:04:08

--trino(presto)
select format_datetime(from_unixtime(1610085216),'yyyy-MM-dd HH:mm:ss') -->输出varchar类型日期:2021-01-08 13:53:36

4. 字符串日期格式转换
--hive
select from_unixtime(unix_timestamp('2021-01-08 10:36:15','yyyy-MM-dd HH:mm:ss'),'yyyy-MM-dd') -->输出varchar类型日期:2021-01-08
select to_date('2021-01-08 10:36:15') -->输出varchar类型日期:2021-01-08
select to_date(from_unixtime(unix_timestamp('20210110','yyyyMMdd'))); -->输出varchar类型日期:2021-01-10

--trino(presto)
select date(cast('2021-01-08 10:36:15' as timestamp)) --> 输出date类型日期:2021-01-08
select format_datetime(from_unixtime(to_unixtime(cast('2021-01-08 13:53:36' as timestamp))),'yyyy-MM-dd') -->输出varchar类型日期:2021-01-08
select format_datetime(date_parse('20210110','%Y%m%d'),'yyyy-MM-dd') -->输出varchar类型日期:2021-01-10

5. date类型转字符类型串日期
--trino(presto)
SELECT format_datetime(cast('2021-06-19' as date),'yyyy-MM-dd') ->输出varchar类型日期:2021-06-19

6. 日期加减
--hive
select date_add('2021-01-08',2); -->输出varchar类型日期:2021-01-10
select date_add(current_timestamp,2); -->输出varchar类型日期:2021-01-10

--trino(presto)
select date_add('day',-2,cast('2020-01-10' as date)); -->输出date类型日期:2021-01-08
select date_add('day',-2,current_date); -->输出date类型日期:2021-01-06
select format_datetime(date_add('day',-1,cast('2021-06-19' as date)),'yyyy-MM-dd')

7. 日期截断
--hive
dd当天, MM所在月第一天,yyyy所在年第一天
SELECT trunc(CURRENT_DATE,'MM') -->输出与输入类型一致的日期:2022-03-01

--trino(presto)
day当天, month所在月第一天,year所在年第一天
SELECT date_trunc('month',CURRENT_DATE) -->输出与输入类型一致的日期:2022-03-01

标签:01,PrestoSQL,--,HiveSQL,日期,2021,timestamp,date,Trino
From: https://www.cnblogs.com/yeyuzhuanjia/p/18036445

相关文章

  • Trino-登录WebUI页面报错,日志中提示:
    问题描述启动Trino客户端执行showcatalogs时报错:Errorstartingqueryathttp://localhost:8080/v1/statementreturnedaninvalidresponse。 此时在浏览器中访问TrinoWebUI,http://192.168.80.133:8080,页面报错:404 NotFound. 问题原因(1)查询Trino日志发现:BindEx......
  • hivesql报错:java.net.SocketTimeoutException: Read timed out
    场景:在dolphin里面执行hivesql脚本,报错java.net.SocketTimeoutException:Readtimedout解决方式:hive.metastore.client.socket.timeout=1000s 扩展:"Hive报Readtimedout"错误可能也与YARN的资源限制有关。可以通过增加YARN的配置参数来解决此错误。<property><name......
  • Presto、Trino 部署
    1.介绍1.1背景2020年12月27日,prestosql与facebook正式分裂,并改名为trino。Fackbook:https://prestosql.io/初创团队:https://trino.ioPresto是一个facebook开源的分布式SQL查询引擎,适用于交互式分析查询,数据量支持GB到PB字节。Presto的架构由关系型数......
  • Hivesql字符截取函数错用
    1.背景       最近在使用instr进行字符截取时出现了字符截断的情况,案例是需要获取出"红河哈尼族矫族自治州(xxxx(红河)有限公司)"里面的"xxxx(红河)有限公司"内容,结果获取到的内容是"xxxx(红河",该语句针对只有一对括号时没有问题,当出现这种有两个括号时就会出现截断的问题,......
  • presto/trino QueryStatistics 数据来源分析
    QueryStatisticsQueryStats来自stageStats累加来自taskStats累加PipelineStatsdriverStatsOperatorStatsinputOperatorPageSourceOperatorTableScanOperatorWorkProcessorPipelineSourceOperatorWorkProcessorSourceOperatorAdapter......
  • Trino HTTPS 与密码认证介绍与实战操作
    目录一、概述二、安装Trino三、配置HTTPS1)生成证书2)配置Trino3)修改Trinodocker-composeyaml文件4)开始部署Trino5)测试验证四、密码认证1)开启密码认证2)创建密码认证配置文件3)修改Trinodocker-composeyaml文件4)开始部署Trino5)测试验证五、权限控制(优雅下线)1)配置etc/ac......
  • 尚硅谷大数据HiveSQL练习题(一)——同时在线人数问题
    题目需求现有各直播间的用户访问记录表(live_events)如下,表中每行数据表达的信息为,一个用户何时进入了一个直播间,又在何时离开了该直播间。user_id(用户id)live_id(直播间id)in_datetime(进入直播间的时间)out_datetime(离开直播间的时间)10012021-12-119:30:00......
  • 什么是 JMX?(Trino JMX 实战讲解)
    目录一、概述二、JMX原理三、实战操作(开启TrinoJMX)1)环境部署2)开启TrinoJMX1、配置config.properties2、配置jvm.config3、重新启动服务4、获取监控数据3)通过jconsole连接JMX4)常用的Trino指标接口和指标一、概述JMX是JavaManagementExtensions(Java管理扩展)的缩......
  • trino on yarn
    一、前言   最近在研究trinoonyarn功能,网上大部分都是关于prestoonyarn文章,关于trinoonyarn资料很少,但是本质上差不多,需要修改一些内容比,主要在调试方面这个slider不是很方便,分享下实践过程。 如果Trino集群没有弹性扩缩容需求或者已经有很成熟的K8S容器部署方案......
  • Trino418版本动态加载catalog不需要重启集群修改思路及实现
        熟悉Trino的同学应该都知道Trino新增、删除catalog都需要重启集群,这个生产环境里如果需要频繁增加数据源的场景是非常不友好的操作。  网上关于动态加载Catalog的方案有一些,但是在Trino比较新的版本里面已经无法适用。 目前官方关于这个功能一直都没有完成,详细......