雪花 - >如何将日期(时间戳)从舞台插入桌子?

发布于 2025-02-09 06:40:38 字数 1075 浏览 2 评论 0原文

雪花 - >如何将日期(时间戳)从舞台插入桌子?

例如 : 我有以下平面文件

FILE.CSV

ID; DATE ; TEXT
6908402;16-06-2022 13:28:52;DAWEAWEADA
6908403;16-06-2022 ; asdasda
6908404;16-06-2022 13:28:53;helloTest
6908405;16-06-2022 13:28:54;hello%%$%
6908406;16-06-2022 13:28:55;

创建的格式,该格式将包含

CREATE OR REPLACE FILE FORMAT DBO.CSV_SEMICOLON
  type = 'CSV'
  field_delimiter = ';'
  skip_header = 1
  encoding=UTF8   
  ;

我将格式分配给新阶段的

CREATE STAGE IF NOT EXISTS DBO.STG_FILE file_format = DBO.CSV_SEMICOLON;

我将信息插入阶段

REMOVE  @STG_FILE;
put file://D:\TEST\FILE.CSV @STG_FILE;

文件,一旦将信息插入@stage_file,

,我想将信息插入表中。 这是我遇到问题的地方此值

的定义是目的地字段,

Table : dbo.T_FILE
       ID = VARCHAR(255)
       DATE = TIMESTAMPNTZ
       TEXT = VARCHAR(5000)

-------------
-INSERT TABLE
-------------
INSERT INTO DBO.T_FILE(ID, "DATE", TEXT)

SELECT $1, $2, $3, 
FROM @STG_FILE WHERE $3 <> ''


非常感谢您的建议

SnowFlake -> How to insert a date (timestamp) from a stage to a table?

For example :
I have the following flat file

FILE.CSV

ID; DATE ; TEXT
6908402;16-06-2022 13:28:52;DAWEAWEADA
6908403;16-06-2022 ; asdasda
6908404;16-06-2022 13:28:53;helloTest
6908405;16-06-2022 13:28:54;hello%%$%
6908406;16-06-2022 13:28:55;

I create the format that will contain the file

CREATE OR REPLACE FILE FORMAT DBO.CSV_SEMICOLON
  type = 'CSV'
  field_delimiter = ';'
  skip_header = 1
  encoding=UTF8   
  ;

I assign the format to the new stage

CREATE STAGE IF NOT EXISTS DBO.STG_FILE file_format = DBO.CSV_SEMICOLON;

I insert the information to the stage

REMOVE  @STG_FILE;
put file://D:\TEST\FILE.CSV @STG_FILE;

Once the information is inserted into the @stage_file, I want to insert the information into the table.

This is where I have problems since the $2 column of the stage that comes from the file can come either just the date or with the time , I don't know what I should do to be able to insert this value

the definition of the destination fields are these

Table : dbo.T_FILE
       ID = VARCHAR(255)
       DATE = TIMESTAMPNTZ
       TEXT = VARCHAR(5000)

-------------
-INSERT TABLE
-------------
INSERT INTO DBO.T_FILE(ID, "DATE", TEXT)

SELECT $1, $2, $3, 
FROM @STG_FILE WHERE $3 <> ''


Thank you very much for your advice

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

甜警司 2025-02-16 06:40:38

目标表 -

create temporary table T_FILE (id varchar(255), date_1 TIMESTAMPNTZ, text_1 VARCHAR(5000))

查询 -

insert into T_FILE select $1,COALESCE(TRY_TO_TIMESTAMP_LTZ($2,'DD-MM-YYYY HH24:MI:SS'),try_TO_TIMESTAMP_LTZ
($2,'dd-mm-yyyy')),$3 from @stg_file;

将插入以下

select * from t_file;
-IDDATE_1TEXT_1
69084022022-06-16 13:28:52.000DAWEAWEADA
69084032022-06-16 00:00:00.000:00.000ASDASDA
69084042022-06-16 16 13:28:28:53.0009090909090808080809090909090909090909090808909090909909090990909099090909090年53.00090909090909090909090909090909090900年53.00090909090909090909090909090909090900
.2022-06-16 13:28:54.000Hello %% $%
69084062022-06-16 13:28:28:55.000null

从下面给出的源文件 -

select $1,$2,$3 from @stg_file;
$ 1$ 2$ 2 $ 3
690840216-06-06-202213:28:28:52 Daweaweada
690840316-06-2022ASDASDA
690840416-06-2022 13:28:28:53 HELLOTEST
690840516-06-2022 13:28:54HELLY %% $; %% $%
690840616-06-06-06-2022 13:28:55NULL

Target table -

create temporary table T_FILE (id varchar(255), date_1 TIMESTAMPNTZ, text_1 VARCHAR(5000))

Below Query -

insert into T_FILE select $1,COALESCE(TRY_TO_TIMESTAMP_LTZ($2,'DD-MM-YYYY HH24:MI:SS'),try_TO_TIMESTAMP_LTZ
($2,'dd-mm-yyyy')),$3 from @stg_file;

will insert following -

select * from t_file;
IDDATE_1TEXT_1
69084022022-06-16 13:28:52.000DAWEAWEADA
69084032022-06-16 00:00:00.000asdasda
69084042022-06-16 13:28:53.000helloTest
69084052022-06-16 13:28:54.000hello%%$%
69084062022-06-16 13:28:55.000NULL

After reading from the source file given below -

select $1,$2,$3 from @stg_file;
$1$2$3
690840216-06-2022 13:28:52DAWEAWEADA
690840316-06-2022asdasda
690840416-06-2022 13:28:53helloTest
690840516-06-2022 13:28:54hello%%$%
690840616-06-2022 13:28:55NULL
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文