首页 > 解决方案 > 雪花 SQL 将日期 'YYYY-MM-DD' 转换为 'DD-MM-YYYY'

问题描述

我有一个表,其中日期存储在维度表中。我正在使用此表来检索最新的报告周。

SELECT MAX("Week") AS "Date" FROM "DWH"."DimWeek"

这将返回一个具有以下日期的表,该日期位于“YYYY-MM-DD”中

+--------------------+
| Date               |
|--------------------+
| 2017-01-03         |
+--------------------+

我希望转换此日期,因此它返回格式为 'DD-MM-YYYY'

我试图使用

SELECT TO_DATE(MAX("Week"), 'DD-MM-YYYY') AS "Date" FROM "DWH"."DimWeek"

SQL Error
too many arguments for function [TO_DATE(MAX("Week", 'DD-MM-YYYY')] expected 1, got 2

我也尝试将其转换为 CHAR

SELECT TO_DATE(TO_CHAR(MAX("Week")), 'DD-MM-YYYY') AS "Date" FROM "DWH"."DimWeek"

但是,这也会以不希望的格式返回结果

+--------------------+
| Date               |
|--------------------+
| 2017-01-03         |
+--------------------+

任何提示或想法?当前从 Snowflake SQL 查询

标签: sqldatetype-conversionformatsnowflake-cloud-data-platform

解决方案


使用TO_CHAR(). 您希望结果中有一个字符串,而不是日期

SELECT TO_CHAR(MAX("Week")), 'DD-MM-YYYY') AS Date
FROM "DWH"."DimWeek"

推荐阅读