如何在presto sql中将字符串'yyyy-mm-dd'转换为日期格式
Posted
技术标签:
【中文标题】如何在presto sql中将字符串\'yyyy-mm-dd\'转换为日期格式【英文标题】:How to convert string 'yyyy-mm-dd' to date format in presto sql如何在presto sql中将字符串'yyyy-mm-dd'转换为日期格式 【发布时间】:2020-10-11 06:00:43 【问题描述】:在 presto SQL 中,日期保存为字符串,如“2020-06-10”。我要转换成日期格式(yyyy-mm-dd)
我就是这样做的:
select date_format(date_parse('2020-06-10', '%Y-%m-%d'),'%Y-%m-%d')
首先我将字符串转换为时间戳格式,然后将新的时间戳转换为 date_format。
我的问题是,有没有只转换一次的函数?
例如
date_parse(string, format, expect_out_put_time_format)
【问题讨论】:
没有这个功能。我们需要先转换类型,然后再格式化。 明白了。 Piotr 的评论为我节省了几次击键。 ***.com/a/62497227/13785056select date_format(date('2020-06-10'),'%Y-%m-%d') 【参考方案1】:您可以使用date
函数,它是CAST(x AS date)
的快捷方式。
presto> SELECT date('2020-06-10');
_col0
------------
2020-06-10
【讨论】:
我尝试了 SELECT date('2020-06-10') 我得到了 June 10, 2020, 12:00 AM 但我保存了一些密钥-stokes,我的简化版是select date_format(date('2020-06-10'),'%Y-%m-%d')
June 10, 2020, 12:00 AM
-- 这可能是您的应用程序在呈现date
值时产生的东西。如果你想得到一个 varchar 值,你似乎根本不需要任何转换,是吗?以上是关于如何在presto sql中将字符串'yyyy-mm-dd'转换为日期格式的主要内容,如果未能解决你的问题,请参考以下文章