一、Work Summary
今日依旧是熟悉数据库,熟悉大概了20张表
二、Individual learning
1、MaxCompute 日期数据格式转换
STRING转换为TIMESTAMP(格式为yyyy-mm-dd hh:mi:ss.ff3
)
使用CAST函数
限制:输入的STRING类型数据的格式至少要满足yyyy-mm-dd hh:mi:ss
要求。
--返回2009-07-01 16:09:00.000。
select cast("2009-07-01 16:09:00" as timestamp)
STRING转换为DATETIME
使用CAST函数和TO_DATE函数
限制:
使用CAST函数时,输入的STRING类型数据的格式必须要满足yyyy-mm-dd hh:mi:ss
要求。
使用TO_DATE函数时,需要指定format参数的取值为yyyy-mm-dd hh:mi:ss
。
--返回2009-07-01 16:09:00
select cast('2009-07-01 16:09:00' as DATETIME);
select TO_DATE('2009-07-01 16:09:00','yyyy-mm-dd hh:mi:ss');
TIMESTAMP(格式为yyyy-mm-dd hh:mi:ss.ff3
)转换为STRING
使用CAST函数和TO_STRING函数
--返回2009-07-01 16:09:00。
select(cast(cast('2009-07-01 16:09:00' as timestamp) as string));
select to_char(cast('2009-07-01 16:09:00' as timestamp),'yyyy-mm-dd hh:mi:ss');
TIMESTAMP转换为DATETIME
使用CAST函数和TO_DATE函数
限制:使用TO_DATE函数时,需要指定format参数的取值为yyyy-mm-dd hh:mi:ss
--返回2009-07-01 16:09:00。
select cast(cast('2009-07-01 16:09:00' as timestamp) as datetime);
select TO_DATE(cast('2009-07-01 16:09:00' as timestamp),'YYYY-MM-DD HH:MI:SS');
DATETIME转换为TIMESTAMP
使用cast()函数
--返回2021-10-14 10:21:47.939
select cast(getdate() as timestamp);
DATETIME转换为STRING
使用cast()函数和to_char()函数
--返回2021-10-14 10:21:47。
select cast(getdate() as string);
--返回2021-10-14 10:21:47。
select to_char (getdate(),'yyyy-mm-dd hh:mi:ss');
--返回2021-10-14。
select to_char (getdate(),'yyyy-mm-dd');
--返回2021。
select to_char (getdate(),'yyyy');