每当我使用“下载 Excel 的 .csv”(如下图所示)从 Snowflake 查询导出结果集时,我发现时间戳列的格式始终为
2023-05-31T02:54:20Z
。这使得在 Excel 中格式化变得困难,因为它不能直接工作 - 我正在尝试在 Excel 中格式化为 2023-05-31 2:54:20 AM
关于如何克服这个问题有什么建议吗? Snowflake 中是否有一个设置需要我们进行onetime 来防止每次都发生这种情况?如果字段是日期(无时间戳),则没有问题
I find that the timestamp columns are always formatted as 2023-05-31T02:54:20Z
Snowsight UI(下载结果)似乎总是使用 ISO 8061 来格式化日期/日期时间列。
使用 COPY INTO location 将数据卸载到用户/指定的内部阶段。
将数据从表(或查询)卸载到以下位置之一的一个或多个文件中:
命名内部阶段(或表/用户阶段)。然后可以使用 GET 命令从舞台/位置下载文件。
用户阶段:
-- unload into user stage
COPY INTO @~/export.csv
FROM (
-- user query goes here
SELECT 'a, a' AS col, CURRENT_TIMESTAMP() AS col2, NULL as col3
)
FILE_FORMAT=(TYPE=CSV,
COMPRESSION=NONE
TIMESTAMP_FORMAT='YYYY-MM-DD HH24:MI:SS' -- desired format
)
SINGLE = TRUE
OVERWRITE = TRUE
HEADER = TRUE;
LIST @~/export.csv;
-- name size md5 last_modified
-- download using GET command
-- https://docs.snowflake.com/en/sql-reference/sql/get
-- cannot be run inside Snowsight
GET @~/export.csv file://<file_path_local_system>;
命名内部阶段和 Snowsight UI 以下载生成的文件:
CREATE STAGE unload DIRECTORY = ( ENABLE = true );
COPY INTO @~/export.csv
FROM (
-- user query goes here
SELECT 'a, a' AS col, CURRENT_TIMESTAMP() AS col2, NULL as col3
)
FILE_FORMAT=(TYPE=CSV,
COMPRESSION=NONE
TIMESTAMP_FORMAT='YYYY-MM-DD HH24:MI:SS' -- desired format
-- other options
)
SINGLE = TRUE
OVERWRITE = TRUE
HEADER = TRUE;
ALTER STAGE unload REFRESH;
输出:
COL,COL2,COL3
a\, a,2023-10-26 20:33:47,\\N