全部产品
云市场

时间格式及转换函数

更新时间:2019-08-06 13:44:36

  • DATE_FORMAT:按照指定格式,将日期时间类型的数据转换为字符串类型。
  • TO_CHAR:按照指定格式,显示日期时间。
  • SEC_TO_TIME:返回秒数对应的时间。
  • TIME_TO_SEC:将时间转换为当天的秒数。
  • STR_TO_DATE:按照指定格式,将字符串类型的数据转换为TIMESTAMP类型。
  • TIME
  • TIMESTAMP
  • TO_DAYS:返回从0年开始以来的天数。

DATE_FORMAT

  1. date_format(datetime, format)
  • 命令说明:按照format指定的格式,将日期时间格式化成字符串。

  • 参数说明:

    • datetime:类型为TIMESTAMP或者DATE。

    • format:格式字符串,格式转换符请参见时间格式转换符

  • 示例:

    1. SELECT date_format(now(), '%Y-%m-%d %H:%i:%s') as col1, now() as col2;
    2. +---------------------+-----------------------+
    3. | col1 | col2 |
    4. +---------------------+-----------------------+
    5. | 2018-12-08 17:06:21 | 2018-12-08 17:06:21.0 |
    6. SELECT date_format(current_date(), '%Y-%m-%d %H-%i-%s') as col1, current_date() as col2;
    7. +---------------------+-----------------------+
    8. | col1 | col2 |
    9. +---------------------+-----------------------+
    10. | 2018-12-08 00-00-00 | 2018-12-08 |

TO_CHAR

  1. to_char(datetime, format)
  • 命令说明:按照format指定的格式,将日期时间格式化成字符串。

  • 参数说明:

    • datetime:类型为TIMESTAMP或者DATE。

    • format:格式字符串,格式转换符请参见时间格式转换符

  • 示例:

    1. SELECT to_char(now(), '%Y-%m-%d %H:%i:%s') as col1;
    2. +---------------------+
    3. | col1 |
    4. +---------------------+
    5. | 2018-12-08 17:08:56 |
    6. SELECT to_char(current_date(), '%Y-%m-%d %H:%i:%s') as col1;
    7. +---------------------+
    8. | col1 |
    9. +---------------------+
    10. | 2018-12-08 00:00:00 |

SEC_TO_TIME

  1. SEC_TO_TIME(seconds)
  • 命令说明:返回秒数对应的时间

  • 参数说明:seconds类型为BIGINT

  • 示例:

    1. SELECT SEC_TO_TIME(11111) as col1;
    2. +----------+
    3. | col1 |
    4. +----------+
    5. | 03:05:11 |

TIME_TO_SEC

  1. TIME_TO_SEC(time)
  • 命令说明:将时间字段转换为当天的秒数

  • 参数说明:time类型为VARCHAR

  • 示例:

    1. SELECT TIME_TO_SEC('22:23:00') as col1;
    2. +-------+
    3. | col1 |
    4. +-------+
    5. | 80580 |

STR_TO_DATE

  1. STR_TO_DATE(str,format)
  • 命令说明:按照format格式,将字符串类型的数据转换为TIMESTAMP类型。

  • 返回值类型:DATE

  • 示例:

    1. SELECT STR_TO_DATE('01,5,2013','%d,%m,%Y') as col1;
    2. +------------+
    3. | col1 |
    4. +------------+
    5. | 2013-05-01 |

TIME

  1. TIME(expr)

示例:

  1. SELECT TIME('2003-12-31 01:02:03') as col1;
  2. +----------+
  3. | col1 |
  4. +----------+
  5. | 01:02:03 |

TIMESTAMP

  1. TIMESTAMP(expr)
  2. TIMESTAMP(expr1,expr2)

示例:

  1. SELECT TIMESTAMP('2003-12-31 01:02:03') as col1;
  2. +-----------------------+
  3. | col1 |
  4. +-----------------------+
  5. | 2003-12-31 01:02:03.0 |
  6. SELECT TIMESTAMP('2003-12-31 12:00:00','12:00:01') as col1;
  7. +-----------------------+
  8. | col1 |
  9. +-----------------------+
  10. | 2004-01-01 00:00:01 |

TO_DAYS

  1. TO_DAYS(date)
  • 命令说明:返回从0年开始的天数。

  • 参数说明:date类型为VARCHAR、DATE或者TIMESTAMP。

  • 示例:

    1. SELECT TO_DAYS('2007-10-07') as col1;
    2. +--------+
    3. | col1 |
    4. +--------+
    5. | 733321 |
    6. SELECT TO_DAYS(curdate()) as col1;
    7. +--------+
    8. | col1 |
    9. +--------+
    10. | 737401 |

相关文档

时间格式转换符