我正在嘗試將資料從 SQL 服務器加載到雪花環境。SQL 將日期輸出為 --06/28/2016 20:35:06:703000'
在以時間戳(9)作為資料型別的雪花中插入此值時,我收到此錯誤-無法識別時間戳'06/28/2016 20:35:06:703000'
如果我正在插入--'06/28/2016 20:35:06'--> 這是被插入的。
我試過了
- ALTER SESSION SET TIMESTAMP_OUTPUT_FORMAT = 'AUTO';
- ALTER SESSION SET TIMESTAMP_INPUT_FORMAT = 'MM-DD-YYYY HH24:MM:SS.FF6';
- ALTER SESSION SET TIMESTAMP_INPUT_FORMAT = 'AUTO';
-
- ALTER SESSION SET TIMESTAMP_INPUT_FORMAT = 'MM/DD/YYYY HH24:MM:SS.FF6';
目前沒有任何效果。
有人可以幫忙嗎?
uj5u.com熱心網友回復:
如果我使用格式字串的小寫版本,它對我有用:
好吧,如果mi用于分鐘,引數格式和毫秒標記:不在.您的示例資料中
select '06/28/2016 20:35:06:703000' as inp
,try_to_timestamp(inp, 'mm/dd/yyyy hh:mi:ss:ff6') as ts1
,try_to_timestamp(inp, 'mm/dd/yyyy hh24:mi:ss:ff6') as ts1b
,try_to_timestamp(inp, 'MM/DD/YYYY HH24:MM:SS.FF6') as ts2
,try_to_timestamp(inp, 'MM/DD/YYYY HH:MI:SS.FF6') as ts3
,try_to_timestamp(inp, 'MM/DD/YYYY HH:MI:SS.FF6') as ts4
;
| 輸入法 | TS1 | TS1B | TS2 | TS3 | TS4 |
|---|---|---|---|---|---|
| 2016 年 6 月 28 日 20:35:06:703000 | 2016-06-28 20:35:06.703 | 2016-06-28 20:35:06.703 | 空值 | 空值 | 空值 |
使用會話格式:
ALTER SESSION SET TIMESTAMP_INPUT_FORMAT = 'mm/dd/yyyy hh:mi:ss:ff6';
select '06/28/2016 20:35:06:703000'::timestamp;
似乎對我有用,盡管實際上仍然不是插入
| '06/28/2016 20:35:06:703000'::TIMESTAMP |
|---|
| 2016-06-28 20:35:06.703 |
使用資料插入:
ALTER SESSION SET TIMESTAMP_INPUT_FORMAT = 'mm/dd/yyyy hh:mi:ss:ff6';
create table ts_test(ts timestamp_ntz);
insert into ts_test select '06/28/2016 20:35:06:703000';
select * from ts_test;
| TS |
|---|
| 2016-06-28 20:35:06.703 |
這也適用于我:
insert into ts_test values ('06/28/2016 20:35:06:703000');
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/476856.html
