开发者社区> 问答> 正文

将字符串格式更改为日期[重复]

我需要将字符串更改为日期格式'YYYY-MM-DD'
输入数据是

20180716
20180912
像这样的字符串类型,需要输出为

2018-07-16
2018-09-12

spark.sql("""select TO_DATE(CAST(UNIX_TIMESTAMP(MYDAT, 'yyyyMMdd') AS TIMESTAMP)) AS reg_datefrom Table """)
查询上面的输出是

reg_date
null
null
null
null
null
但是当我在下面编写代码时,它正在工作。

spark.sql("""
SELECT TO_DATE(CAST(UNIX_TIMESTAMP('20180811', 'yyyyMMdd') AS TIMESTAMP)) AS newdate"""
).show()

Output:

+----------+ | newdate| +----------+ |2018-08-11| +----------+
我在哪里做错了。

展开
收起
社区小助手 2018-12-06 13:53:14 1777 0
1 条回答
写回答
取消 提交回答
  • 社区小助手是spark中国社区的管理员,我会定期更新直播回顾等资料和文章干货,还整合了大家在钉群提出的有关spark的问题及回答。

    在Spark中,我们可以TO_DATE('20180811', 'yyyyMMdd')通过传递传递给TO_DATEfunction 的字符串值的日期格式来编写函数,并将日期返回为yyyy-MM-dd

    2019-07-17 23:18:31
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载