【问题标题】:convert MM/DD/YYYY to YYYYMMDD in redshift在红移中将 MM/DD/YYYY 转换为 YYYYMMDD
【发布时间】:2017-07-17 16:49:17
【问题描述】:

我需要在亚马逊红移数据库中将 MM/DD/YYYY 转换为 YYYYMMDD。

这个查询的结果给了我一些奇怪的结果。谁能帮帮我。

选择 to_date ('07/17/2017','YYYYMMDD');

0007-07-20

【问题讨论】:

    标签: sql amazon-web-services amazon-redshift


    【解决方案1】:

    如果您只想将硬编码字符串转换为DATE

    select to_date('07/17/2017', 'MM/DD/YYYY')
    

    如果您的列已格式化为DATE,则使用:

    to_char(fieldname, 'YYYYMMDD')
    

    结合两个概念:

    select to_char(to_date('07/17/2017', 'MM/DD/YYYY'), 'YYYYMMDD')
    

    【讨论】:

      【解决方案2】:

      TO_DATE - 将字符串中表示的日期转换为 DATE 数据类型。
      TO_CHAR - 将时间戳或数值表达式转换为字符串数据格式。

      select to_char(sysdate,'YYYYMMDD');

      如果我做了一个错误的假设,请发表评论,我会重新调整我的答案。

      【讨论】:

      • 但这不适用于仅存储时间的列,例如选择 to_char('17:00'::time,'HH12:MI AM'),硬编码有效但当列代替 17:00,它没有。
      猜你喜欢
      • 2011-10-15
      • 1970-01-01
      • 1970-01-01
      • 2013-08-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多