Snowflake cloud data platform 如何在雪花中插入dd/mm/yyyy hh:mm格式的数据

Snowflake cloud data platform 如何在雪花中插入dd/mm/yyyy hh:mm格式的数据,snowflake-cloud-data-platform,snowflake-schema,Snowflake Cloud Data Platform,Snowflake Schema,我在源系统中的每个人的数据都是“dd/mm/yyyy hh:mm”,因此我想在snowflake中使用datetime,但文档中说格式是“dd/mm/yyyy hh:mm:ss”,因此它向我抛出了一个错误,指出 无法识别时间戳'01/02/2009 04:53' 所以在这个场景中,如果源系统是这种格式,我应该怎么做才能以雪花的形式存储数据呢 我发现的可能解决方案是: ** 1:以固定长度的“varchar(x)”格式存储列的数据,其中 这可能是一个很好的解决方案,但是,是否有其他替代存储的方法

我在源系统中的每个人的数据都是“dd/mm/yyyy hh:mm”,因此我想在snowflake中使用datetime,但文档中说格式是“dd/mm/yyyy hh:mm:ss”,因此它向我抛出了一个错误,指出

无法识别时间戳'01/02/2009 04:53'

所以在这个场景中,如果源系统是这种格式,我应该怎么做才能以雪花的形式存储数据呢

我发现的可能解决方案是: **

  • 1:以固定长度的“varchar(x)”格式存储列的数据,其中 这可能是一个很好的解决方案,但是,是否有其他替代存储的方法 将数据转换为datetime,而不将其转换为“varchar(x)”
  • 2:varchar(x)是长度为“x”的时间戳的数据类型,它是'dd/mm/yyyy hh:mm:ss'
模式如下所示:

  • 1:表的示例架构为
    创建表T1(ID整数、事务\u日期时间)
  • 2:这里是参考链接,指向snowflake中的数据类型手册。 ()
  • 3:这里的新手,请原谅,如果有任何打字错误的话!提前谢谢。 **

加载数据时,您可以更改会话的时间戳输入格式:

create or replace table test_table (v datetime);

alter session set TIMESTAMP_INPUT_FORMAT='DD/MM/YYYY HH24:MI';

insert into test_table values ('01/02/2009 04:53'); -- works
时间戳输入格式

或者,可以将转换与“复制”命令一起使用:


谢谢@gokhanatil,它很管用。