【问题标题】:Why time format is changing in Azure Databricks为什么 Azure Databricks 中的时间格式会发生变化
【发布时间】:2022-01-24 07:57:32
【问题描述】:

我有一个时间戳的文件,时间格式为2017-01-20 16:53:05.212 (yyyy-MM-dd HH:mm:ss.SSS)。

我已将此文件上传到 Azure Data Lake Gen 2,并将该文件访问到 Azure Databricks。 但是,当我在 Databricks 笔记本中执行以下简单查询时。 时间格式已更改为 2017-01-20T16:53:05.212+0000 (yyyy-MM-dd'T'HH:mm:ssZZZZ)。

查询:

Select * from dsd_file_temp

我不想改变我的时间格式。

【问题讨论】:

  • SQL 和 Python 中的日期是二进制值,它们没有格式。你认为不同的值格式实际上是不同的 display 格式。此外,这两种格式本质上是相同的,ISO8601。完整的 ISO8601 使用 T 作为日期和时间之间的分隔符,但大多数应用程序在向用户显示日期时会忽略它

标签: sql azure datetime databricks sql-timestamp


【解决方案1】:

Azure 数据块中的默认时间戳格式包括时区。

您可以使用date_format() 来获取所需的值。

select date_format(to_timestamp('2017-01-20 16:53:05.212'),'yyyy-MM-dd HH:mm:ss.SSS') as dt2;

【讨论】:

  • 感谢您回答 NiharikaMoola-MT。通过上面提到的方法。列的格式正在更改为字符串类型(时间戳为字符串)。你能说如何将格式保持为仅时间戳。
猜你喜欢
  • 1970-01-01
  • 2010-11-20
  • 1970-01-01
  • 2019-01-23
  • 1970-01-01
  • 2017-09-28
  • 1970-01-01
  • 2022-01-06
  • 2011-11-16
相关资源
最近更新 更多