代码之家  ›  专栏  ›  技术社区  ›  Allan Bowe

Netezza SQL语法将数字YYYYMMDD格式转换为日期

  •  2
  • Allan Bowe  · 技术社区  · 15 年前

    我们有一个netezza表,其中包含以数字YYYYMMDD格式存储的日期(例如20090731)。

    要将其转换为日期格式,最好使用哪种Netezza语法?

    SELECT somefunction(20090731) as NZDATE
    

    ?

    5 回复  |  直到 8 年前
        1
  •  3
  •   Soner Gönül to StackOverflow    13 年前

    将数字转换为日期的最简单方法是

    select  date(to_char(20090731,'99999999')) as Number_As_DATE;
    
        2
  •  5
  •   JJJ Sergey    13 年前

    你可以用这个,因为它是最好的。

    SELECT TO_DATE('20090731','YYYYMMDD') as NZDATE
    
        3
  •  2
  •   JJJ Sergey    13 年前
    to_date (sk_dim_time ,'YYYYMMDD')
    
        4
  •  1
  •   brezanac    10 年前

    我的努力最初因日期无效而受阻。下面的代码只要将其包装在语句中以捕获坏日期就可以工作。

    select  to_date(substring(20090731 from 1 for 8),'YYYYMMDD') as NZDATE
    

    明显地 20090731 应替换为数值变量的名称。

        5
  •  0
  •   Martin Tournoij ravi.zombie    8 年前
    select to_date(20090731,'YYYYMMDD') as Number_As_DATE
    

    这将在不转换为char的情况下工作。