本文为您介绍STRING、TIMESTAMP与DATETIME类型数据间的转换方法,帮助您在实际业务处理过程中,快速对标找到合适的日期转换方法,提升业务处理效率。
STRING转换为TIMESTAMP
- 应用场景
将STRING类型数据转换为TIMESTAMP类型(格式为
yyyy-mm-dd hh:mi:ss.ff3
)的日期值。 - 实现方法
使用CAST函数进行转换。
- 使用限制
输入的STRING类型数据的格式至少要满足
yyyy-mm-dd hh:mi:ss
要求。 - 使用示例
- 示例1:使用CAST函数,将STRING类型数据
2009-07-01 16:09:00
转换为TIMESTAMP类型。命令示例如下。--返回2009-07-01 16:09:00.000。 select cast('2009-07-01 16:09:00' as timestamp);
- 示例2:错误使用CAST函数的命令示例如下。
--返回NULL。输入数据格式不满足要求。至少要包含yyyy-mm-dd hh:mi:ss格式。 select cast('2009-07-01' as timestamp);
- 示例1:使用CAST函数,将STRING类型数据
STRING转换为DATETIME
- 应用场景
将STRING类型数据转换为DATETIME类型(格式为
yyyy-mm-dd hh:mi:ss
)的日期值。 - 实现方法
- 使用限制
- 使用CAST函数时,输入的STRING类型数据的格式必须要满足
yyyy-mm-dd hh:mi:ss
要求。 - 使用TO_DATE函数时,需要指定format参数的取值为
yyyy-mm-dd hh:mi:ss
。
- 使用CAST函数时,输入的STRING类型数据的格式必须要满足
- 使用示例
- 示例1:使用CAST函数,将STRING类型数据
2009-07-01 16:09:00
转换为DATETIME类型。命令示例如下。--返回2009-07-01 16:09:00。 select cast('2009-07-01 16:09:00' as datetime);
- 示例2:使用TO_DATE函数,指定format参数,将STRING类型数据
2009-07-01 16:09:00
转换为DATETIME类型。命令示例如下。--返回2009-07-01 16:09:00。 select to_date('2009-07-01 16:09:00','yyyy-mm-dd hh:mi:ss');
- 示例3:错误使用CAST函数的命令示例如下。
--返回NULL。输入数据格式不满足要求。必须为yyyy-mm-dd hh:mi:ss格式。 select cast('2009-07-01' as datetime);
- 示例4:错误使用TO_DATE函数的命令示例如下。
--返回NULL。输入数据格式不满足要求。必须为yyyy-mm-dd hh:mi:ss格式。 select to_date('2009-07-01','yyyy-mm-dd hh:mi:ss');
- 示例1:使用CAST函数,将STRING类型数据
TIMESTAMP转换为STRING
- 应用场景
将TIMESTAMP类型(格式为
yyyy-mm-dd hh:mi:ss.ff3
)的日期值转换为STRING类型。 - 实现方法
- 使用示例
- 示例1:使用CAST函数,将TIMESTAMP类型数据
2009-07-01 16:09:00
转换为STRING类型。为构造TIMESTAMP类型数据,总共需要使用2次CAST函数。命令示例如下。--返回2009-07-01 16:09:00。 select cast(cast('2009-07-01 16:09:00' as timestamp) as string);
- 示例2:使用TO_CHAR函数,将TIMESTAMP类型数据
2009-07-01 16:09:00
转换为STRING类型。为构造TIMESTAMP类型数据,需要使用到1次CAST函数。命令示例如下。--返回2009-07-01 16:09:00。 select to_char(cast('2009-07-01 16:09:00' as timestamp),'yyyy-mm-dd hh:mi:ss');
- 示例1:使用CAST函数,将TIMESTAMP类型数据
TIMESTAMP转换为DATETIME
- 应用场景
将TIMESTAMP类型(格式为
yyyy-mm-dd hh:mi:ss.ff3
)的日期值转换为DATETIME类型(格式为yyyy-mm-dd hh:mi:ss
)的日期值。 - 实现方法
- 使用限制
使用TO_DATE函数时,需要指定format参数的取值为
yyyy-mm-dd hh:mi:ss
。 - 使用示例
- 示例1:使用CAST函数,将TIMESTAMP类型数据
2009-07-01 16:09:00
转换为DATETIME类型。为构造TIMESTAMP类型数据,总共需要使用2次CAST函数。命令示例如下。--返回2009-07-01 16:09:00。 select cast(cast('2009-07-01 16:09:00' as timestamp) as datetime);
- 示例2:使用TO_DATE函数,指定format参数,将TIMESTAMP类型数据
2009-07-01 16:09:00
转换为DATETIME类型。为构造TIMESTAMP类型数据,需要使用到1次CAST函数。命令示例如下。--返回2009-07-01 16:09:00。 select to_date(cast('2009-07-01 16:09:00' as timestamp),'yyyy-mm-dd hh:mi:ss');
- 示例1:使用CAST函数,将TIMESTAMP类型数据
DATETIME转换为TIMESTAMP
- 应用场景
将DATETIME类型(格式为
yyyy-mm-dd hh:mi:ss
)的日期值转换为TIMESTAMP类型(格式为yyyy-mm-dd hh:mi:ss.ff3
)的日期值。 - 实现方法
使用CAST函数进行转换。
- 使用示例
使用CAST函数,将DATETIME类型的日期值转换为TIMESTAMP类型。为构造DATETIME类型数据,需要使用到1次GETDATE函数。命令示例如下。
--返回2021-10-14 10:21:47.939。 select cast(getdate() as timestamp);
DATETIME转换为STRING
- 应用场景
将DATETIME类型(格式为
yyyy-mm-dd hh:mi:ss
)的日期值转换为STRING类型。 - 实现方法
- 使用示例
- 示例1:使用CAST函数,将DATETIME类型的日期值转换为STRING类型。为构造DATETIME类型数据,需要使用到1次GETDATE函数。命令示例如下。
--返回2021-10-14 10:21:47。 select cast(getdate() as string);
- 示例2:使用TO_CHAR函数,将DATETIME类型的日期值转换为指定格式的STRING类型。为构造DATETIME类型数据,需要使用到1次GETDATE函数。命令示例如下。
--返回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');
- 示例1:使用CAST函数,将DATETIME类型的日期值转换为STRING类型。为构造DATETIME类型数据,需要使用到1次GETDATE函数。命令示例如下。