如何将日期键转换为yyyy-ww格式?

w46czmvw  于 2022-10-31  发布在  其他
关注(0)|答案(1)|浏览(298)

我有一个变量(order_date_key),其格式为自1990年1月1日以来的天数。例如,数字42,711表示2016-12-09,或者表示自1990年1月1日以来的42,711天。我使用以下语句将该数字转换为yyyy-mm-dd格式:
SELECT DATE_ADD('1900-01-01', order_date_key) AS DateAdd
我需要另一个将日期转换为yyyy-ww格式的列。例如,2022-05将表示2022年的第5周。我尝试使用以下内容作为第一步,但收到错误消息:“Week”是无效函数。

SELECT *
  ,DATE_ADD('1900-01-01', order_date_key) AS DateAdd 
  ,WEEK(DATE_ADD('1900-01-01', order_date_key)) AS Week'

样本数据(自1900年1月1日起的天数):42734、42711、42720、42760等型号
所需输出(yyyy-ww):2022年5月、2022年3月、2022年3月、2022年1月
如果你知道如何在一个步骤中做到这一点,那也会很有帮助。

ktca8awb

ktca8awb1#

回答了我自己的问题感谢this post

SELECT *
,DATE_ADD('1900-01-01', order_submission_date_key) AS DateAdd 
,DATE_FORMAT(DATE_ADD('1900-01-01', order_submission_date_key), 'Y-u')

相关问题