📜  mysql中的日期(1)

📅  最后修改于: 2023-12-03 14:44:31.574000             🧑  作者: Mango

MySQL中的日期

在 MySQL 中,日期是一种常见的数据类型,可以用来存储和操作日期和时间数据。MySQL 提供了多种日期函数和格式化选项,使得我们可以对日期进行各种操作和处理。

基本用法

MySQL 中常用的日期类型包括 DATE、TIME、DATETIME 和 TIMESTAMP。其中,DATE 类型用来存储日期,格式为 'YYYY-MM-DD',例如 '2022-01-01';TIME 类型用来存储时间,格式为 'hh:mm:ss',例如 '12:30:45';DATETIME 类型则可以同时存储日期和时间,格式为 'YYYY-MM-DD hh:mm:ss',例如 '2022-01-01 12:30:45';TIMESTAMP 类型也可以同时存储日期和时间,但其范围更小,仅支持 '1970-01-01 00:00:01' 到 '2038-01-19 03:14:07'。

在 MySQL 中,可以使用以下语句来创建包含日期类型的表:

CREATE TABLE `table_name` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `date_col` date DEFAULT NULL,
  `time_col` time DEFAULT NULL,
  `datetime_col` datetime DEFAULT NULL,
  `timestamp_col` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

以上语句创建了一个名为 table_name 的表,包括 5 个字段,分别为 iddate_coltime_coldatetime_coltimestamp_col。其中,date_coltime_coldatetime_coltimestamp_col 分别为 DATE、TIME、DATETIME 和 TIMESTAMP 类型。

日期函数

MySQL 提供了许多內建函数来处理日期。下面是一些常用函数的简介:

  • NOW() 函数:返回当前日期和时间。例如:

    SELECT NOW(); -- 返回当前日期和时间
    
  • CURDATE() 函数:返回当前日期。例如:

    SELECT CURDATE(); -- 返回当前日期
    
  • CURTIME() 函数:返回当前时间。例如:

    SELECT CURTIME(); -- 返回当前时间
    
  • DATE() 函数:提取日期部分。例如:

    SELECT DATE('2022-01-01 12:30:45'); -- 返回 '2022-01-01'
    
  • TIME() 函数:提取时间部分。例如:

    SELECT TIME('2022-01-01 12:30:45'); -- 返回 '12:30:45'
    
  • DATE_FORMAT() 函数:将日期格式化。例如:

    SELECT DATE_FORMAT('2022-01-01 12:30:45', '%Y年%m月%d日 %H:%i:%s'); -- 返回 '2022年01月01日 12:30:45'
    

更多函数的详细信息可以在 MySQL 官方文档中找到。

日期比较

在 MySQL 中,我们可以使用比较运算符来比较日期。下面是一些常用的比较运算符的简介:

  • =:等于,例如:'2022-01-01' = '2022-01-01' 返回 true。
  • <>!=:不等于,例如:'2022-01-01' <> '2022-01-02' 返回 true。
  • <:小于,例如:'2022-01-01' < '2022-01-02' 返回 true。
  • >:大于,例如:'2022-01-01' > '2021-12-31' 返回 true。
  • <=:小于等于,例如:'2022-01-01' <= '2022-02-01' 返回 true。
  • >=:大于等于,例如:'2022-01-01' >= '2021-01-01' 返回 true。
日期计算

MySQL 中也提供了多种日期计算函数,可以方便地进行日期加减等操作。下面是一些常用的计算函数的简介:

  • DATE_ADD() 函数:日期加法。例如:

    SELECT DATE_ADD('2022-01-01', INTERVAL 1 DAY); -- 返回 '2022-01-02'
    
  • DATE_SUB() 函数:日期减法。例如:

    SELECT DATE_SUB('2022-01-01', INTERVAL 1 DAY); -- 返回 '2021-12-31'
    
  • DATEDIFF() 函数:日期差计算。例如:

    SELECT DATEDIFF('2022-01-01', '2021-12-31'); -- 返回 1
    
  • DATE_FORMAT() 函数:将日期格式化。例如:

    SELECT DATE_FORMAT('2022-01-01', '%Y-%m-%d %H:%i:%s'); -- 返回 '2022-01-01 00:00:00'
    
总结

MySQL 中的日期类型是一种常用的数据类型,我们可以使用日期函数和计算函数来进行各种日期操作。熟练掌握这些函数的用法,可以让我们更加高效地进行日期处理。