【问题标题】:Azure Data Bricks - Convert to Date for OrderingAzure Databricks - 转换为订购日期
【发布时间】:2021-06-15 09:22:09
【问题描述】:

我必须构造一个字符串,该字符串具有毫秒成分作为提取数据的源,不允许日期字段包含毫秒成分。但不是问题..

查询

   select POWERAPPCAPTURETIME, POWERAPPSECONDS,POWERAPPMILLISECONDS,
  
   replace(
        concat_ws(':', 
            regexp_replace(date_format(POWERAPPCAPTURETIME, 'dd/M/yyyy HH:mm'), '[a-z]', ''), CaSe when POWERAPPSECONDS='0' then '00' else POWERAPPSECONDS end, case when POWERAPPMILLISECONDS='0' then '000' else POWERAPPMILLISECONDS end
        ), 
        '.', ':'
    ) as DATE_TIME_WITH_MILLISECONDS_STRING,
  
  
  to_date (
   replace(
        concat_ws(':', 
            regexp_replace(date_format(POWERAPPCAPTURETIME, 'dd/M/yyyy HH:mm'), '[a-z]', ''), CaSe when POWERAPPSECONDS='0' then '00' else POWERAPPSECONDS end, case when POWERAPPMILLISECONDS='0' then '000' else POWERAPPMILLISECONDS end
        ), 
        '.', ':'
    ) , "dd/M/yyyy HH:mm:ss:sss" ) as DATE_TIME_WITH_MILLISECONDS_TIMESTAMP from Table1

问题是我无法使用字段的 STRING 版本在 Azure Data Bricks Sql Analaytics 中对记录进行排序。我需要将其更改为时间戳数据类型才能执行此操作,但似乎无法正确使用语法。这是我的查询目前给我的:

【问题讨论】:

  • 您是否尝试在查询中添加order by 子句?
  • 现在可以使用了。语法问题 POWERAPPCAPTURETIME,'dd/M/yyyy HH:mm'。然后,这适用于使用该列进行分区和排序。

标签: sql azure-databricks


【解决方案1】:

现在可以使用了。语法问题 POWERAPPCAPTURETIME,'dd/M/yyyy HH:mm'。然后,这适用于使用该列进行分区和排序。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-05
    • 1970-01-01
    • 1970-01-01
    • 2022-01-23
    • 1970-01-01
    • 2018-09-29
    相关资源
    最近更新 更多