本文为您介绍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);

STRING转换为DATETIME

  • 应用场景

    将STRING类型数据转换为DATETIME类型(格式为yyyy-mm-dd hh:mi:ss)的日期值。

  • 实现方法
    • 方法一:使用CAST函数进行转换。
    • 方法二:使用TO_DATE函数进行转换。
  • 使用限制
    • 使用CAST函数时,输入的STRING类型数据的格式必须要满足yyyy-mm-dd hh:mi:ss要求。
    • 使用TO_DATE函数时,需要指定format参数的取值为yyyy-mm-dd hh:mi:ss
  • 使用示例
    • 示例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');

TIMESTAMP转换为STRING

  • 应用场景

    将TIMESTAMP类型(格式为yyyy-mm-dd hh:mi:ss.ff3)的日期值转换为STRING类型。

  • 实现方法
    • 方法一:使用CAST函数进行转换。
    • 方法二:使用TO_CHAR函数按照format参数指定的格式进行转换。
  • 使用示例
    • 示例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');

TIMESTAMP转换为DATETIME

  • 应用场景

    将TIMESTAMP类型(格式为yyyy-mm-dd hh:mi:ss.ff3)的日期值转换为DATETIME类型(格式为yyyy-mm-dd hh:mi:ss)的日期值。

  • 实现方法
    • 方法一:使用CAST函数进行转换。
    • 方法二:使用TO_DATE函数进行转换。
  • 使用限制

    使用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');

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类型。

  • 实现方法
    • 方法一:使用CAST函数进行转换。
    • 方法二:使用TO_CHAR函数按照format参数指定的格式进行转换。
  • 使用示例
    • 示例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');