Snowflake SQL将日期“ YYYY-MM-DD”转换为“ DD-MM-YYYY”

时间:2020-03-11 02:01:17

标签: sql date type-conversion format snowflake-cloud-data-platform

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

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查询

1 个答案:

答案 0 :(得分:1)

使用TO_CHAR()。您需要结果中的 string ,而不是 date

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