Datetime模式
適用於:磚的SQL磚運行時
有幾種常見的場景datetime磚的使用:
CSV和JSON數據源使用模式字符串解析和格式化datetime內容。
Datetime函數相關的轉換
字符串
與日期
或時間戳
。例如:
模式表
磚使用模式字母在下表中解析和格式化日期和時間戳:
象征 |
意義 |
演講 |
例子 |
---|---|---|---|
G |
時代 |
文本 |
廣告;公元 |
y |
一年 |
一年 |
2020;20. |
D |
day-of-year |
(3)數量 |
189年 |
M / L |
month-of-year |
月 |
7;07年;7月;7月 |
d |
月的日期 |
(3)數量 |
28 |
Q /問 |
quarter-of-year |
數字/文本 |
3;03;第三季度;第三季度的 |
E |
一周中的第幾天 |
文本 |
星期二;周二 |
F |
周月對齊的一天 |
數量(1) |
3 |
一個 |
am-pm-of-day |
am-pm |
點 |
h |
clock-hour-of-am-pm (1 - 12) |
(2)數量 |
12 |
K |
hour-of-am-pm(劃分) |
(2)數量 |
0 |
k |
clock-hour-of-day (24) |
(2)數量 |
0 |
H |
hour-of-day (0-23) |
(2)數量 |
0 |
米 |
minute-of-hour |
(2)數量 |
30. |
年代 |
second-of-minute |
(2)數量 |
55 |
年代 |
fraction-of-second |
分數 |
978年 |
V |
時區ID |
zone-id |
美國/ Los_Angeles;Z;塔利班) |
z |
時區名稱 |
區域名稱 |
太平洋標準時間;太平洋標準時間 |
O |
本地化zone-offset |
offset-O |
格林尼治標準時間+ 8;格林尼治標準時間+喂飼;UTC-08:00; |
X |
zone-offset ' Z '為零 |
offset-X |
Z;-08;-0830;塔利班);-083015;08:30:15; |
x |
zone-offset |
offset-x |
+ 0000;-08;-0830;塔利班);-083015;08:30:15; |
Z |
zone-offset |
offset-Z |
+ 0000;-0800;喂飼; |
” |
逃避的文本 |
分隔符 |
|
” |
單引號 |
文字 |
” |
( |
可選部分開始 |
||
] |
可選部分結束 |
計數模式字母決定了格式。
文本:文本樣式決定基於信使用的模式。少於4模式字母將使用短的文本形式,通常縮寫,比如一周中的第幾天周一可能輸出“星期一”。正好4模式字母將使用完整的文本形式,通常完整的描述,e。g,一周中的第幾天周一可能輸出“星期一”。5或更多的信件將會失敗。
數量(n): n代表信的最大計數可以使用這種類型的datetime模式。如果信件的數是1,然後使用最小數量的值是輸出位數,沒有填充。否則,數字的計數用作輸出字段的寬度,在必要與價值。
數量/文本:如果計數模式字母是3或更高版本,使用上麵的文本規則。否則上麵使用的規則。
分數:使用一個或多個(9)連續的
“年代”
字符,例如,嘶嘶
,其次是解析和格式化的一部分。解析,可接受的部分長度可以[1,連續的數量' S ']。格式化、分數的長度將墊的數量與0連續的“年代”。磚支持datetime micro-of-second精度,6位有效數字,但可以解析nano-of-second超過部分截斷。:信確定最低的計數字段寬度低於它填充。如果信件的數是2,那麼減少使用兩個數字組成。打印,輸出最右邊的兩個數字。解析,這將解析使用的基礎價值2000,每年導致2000 - 2099範圍內的包容性。如果信件的計數小於四(但不是兩個),那麼隻有輸出負年跡象。否則,輸出信號,如果墊寬度超過當‘G’不存在。7、更多的信件將會失敗。
月:它遵循的規則數量/文本。文本形式取決於信-
“米”
表示“標準”形式,“L”
是“獨立”的形式。這兩隻在某些語言形式是不同的。例如,在俄羅斯,Июль7月的獨立的形式,和“Июля”是標準形式。下麵是所有支持的示例模式字母:“米”
或“L”
一年:月號從1開始。沒有區別“米”
和“L”
。從1到9月印刷沒有填充。>選擇date_format(日期“1970-01-01”,“米”);1>選擇date_format(日期“1970-12-01”,“L”);12
“毫米”
或“會”
一年:月號從1開始。補零添加幾個月1 - 9。>選擇date_format(日期“1970-1-01”,“會”);01>選擇date_format(日期“1970-09-01”,“毫米”);09年
“嗯”
:短的文本表示的標準形式。模式應該是一個月的日期模式不僅是一個獨立的月除了地區沒有區別和獨立的形式像站在英語。>選擇date_format(日期“1970-01-01”,“d嗯”);11月- - -通過一個格式模式來to_csv()>選擇to_csv(named_struct(“日期”,日期“1970-01-01”),地圖(“dateFormat”,“dd嗯”,“場所”,“俄羅斯”));01янв。
“嗯”
:完整的文本月代表的標準形式。用於解析/格式化月的日期/時間戳。>選擇date_format(日期' 1970-01-01 ',' d嗯');1月1日——通過荒漠區格式結構to_csv() >選擇to_csv (named_struct(日期,日期' 1970-01-01 '),地圖(“dateFormat”、“d嗯”,“語言環境”,“俄羅斯”));1января
am-pm-of-day am-pm:這個輸出。模式字母數必須是1。
區域ID (V):該輸出顯示時區ID。模式字母數必須是2。
區域名稱(z):該輸出顯示文本時區ID的名稱。如果計數的信件是一個,兩個或三個,那麼短的名字是輸出。如果信件的數是四,全名是輸出。5個或5個以上字母將會失敗。
抵消X, X:這格式抵消基於模式字母的數量。一個字母輸出小時,如“+ 1”,除非分鍾零在這種情況下,一分鍾也輸出,如“+ 0130”。兩個字母輸出小時和分鍾,沒有一個冒號,如“+ 0130”。三個字母輸出小時和分鍾,冒號,如“+ 01:30”。四個字母輸出小時和分鍾,選第二個,沒有一個冒號,如“+ 013015”。五個字母輸出小時和分鍾,選第二,冒號,如“+ 01:30:15”。六個或者更多的信件將會失敗。模式字母“X”(大寫)將輸出“Z”抵消輸出會是零,而字母“X”模式(小寫)將輸出+ 00,“+ 0000”,或“+ 00:00”。
抵消O:這個格式本地化抵消基於模式字母的數量。一個字母輸出短形式的局部抵消,這是局部抵消文本,如“格林尼治時間”,與小時沒有前導零,可選的便是分鍾和第二如果非零,和結腸,例如“GMT + 8”。四個字母輸出完整的形式,這是局部抵消文本,如“格林尼治時間,便是小時和分鍾,可選的第二個字段如果非零,和結腸,例如“GMT +喂飼'。任何其他的信件將會失敗。
抵消Z:這格式抵消基於模式字母的數量。一個,兩個或三個字母輸出小時和分鍾,沒有一個冒號,如“+ 0130”。輸出“+ 0000”抵消為零。四個字母輸出完整的局部補償形式,相當於Offset-O的四個字母。輸出相應的局部抵消文本如果抵消為零。五個字母輸出小時,分鍾,可選的第二個如果零、結腸。它輸出' Z '如果抵消為零。六個或者更多的信件將會失敗。
可選的開始和結束部分:使用
[]
定義一個可選的部分,也許嵌套。甚至在格式化,所有有效數據輸出的可選部分。在解析過程中,整個部分從解析的字符串可能會丟失。一個可選的部分開始(
最後使用]
月底(或模式)。“E”的象征,“F”,“問”和“問”隻能用於datetime格式,例如
date_format
。他們不允許用於datetime解析,如。to_timestamp
。