【问题标题】: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 的评论为我节省了几次击键。 stackoverflow.com/a/62497227/13785056select date_format(date('2020-06-10'),'%Y-%m-%d')

标签: date presto


【解决方案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 值,你似乎根本不需要任何转换,是吗?
猜你喜欢
  • 2021-11-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多