无法使用spark SQL中的to_timestamp函数生成毫秒级的时间戳

gzjq41n4  于 2023-08-06  发布在  Apache
关注(0)|答案(1)|浏览(125)

我正在尝试使用Azure Synapse中Apache Spark Pool中的spark SQL,通过to_timestamp函数将字符串转换为时间戳。
第一个月
结果是-2009-06- 12 T01:07:22 Z
我不知道为什么结果没有毫秒,就像上面提到的格式一样。请帮助我,希望你能做到这一点,使用这个简单的SELECT查询,没有T和Z,我假设是指时区(?).

  • 谢谢-谢谢
0lvr5msh

0lvr5msh1#

当您将字符串转换为时间戳时,该列现在被视为时间戳,但标准字符串表示形式为'2009-06- 12 T01:07:22 Z'。如果您喜欢某种日期格式,则使用date_format函数创建字符串表示形式,例如

spark.sql('''Select date_format(to_timestamp('2009-06-12 01:07:22.024', 'yyyy-MM-dd HH:mm:ss.SSS'), 'yyyy-MM-dd HH:mm:ss') as time''').show(truncate=False)
+-------------------+
|time               |
+-------------------+
|2009-06-12 01:07:22|
+-------------------+

字符串

相关问题