MySQL日期格式以及日期函数举例详解

 更新时间:2023年11月14日 17:00:56   作者:一叶飘零_sweeeet  
这篇文章主要给大家介绍了关于MySQL日期格式及日期函数的相关资料,日期在数据库中是一个常见且重要的数据类型,在MySQL中我们可以使用各种函数和格式化选项来处理和显示日期,需要的朋友可以参考下

1. 日期格式

在MySQL中,日期可以使用多种格式进行存储和表示。常见的日期格式包括:

  • DATE:仅包含日期部分,格式为'YYYY-MM-DD',例如'2023-07-06'。
  • TIME:仅包含时间部分,格式为'HH:MM:SS',例如'13:30:45'。
  • DATETIME:包含日期和时间部分,格式为'YYYY-MM-DD HH:MM:SS',例如'2023-07-06 13:30:45'。
  • TIMESTAMP:包含日期和时间部分,格式为'YYYY-MM-DD HH:MM:SS',与DATETIME相似,但在存储和使用上有一些差异。

在实际使用中,可以根据需求选择合适的日期格式进行存储和处理。

2. 日期函数

MySQL提供了丰富的日期函数,用于对日期进行各种操作和计算。下面介绍一些常用的日期函数:

CURDATE()和CURRENT_DATE()

CURDATE()CURRENT_DATE()函数返回当前日期。它们的使用方式相同,可以直接调用这两个函数获取当前日期。

SELECT CURDATE(); -- 返回当前日期,例如'2023-07-06'
SELECT CURRENT_DATE(); -- 返回当前日期,例如'2023-07-06'

CURTIME()和CURRENT_TIME()

CURTIME()CURRENT_TIME()函数返回当前时间。它们的使用方式相同,可以直接调用这两个函数获取当前时间。

SELECT CURTIME(); -- 返回当前时间,例如'13:30:45'
SELECT CURRENT_TIME(); -- 返回当前时间,例如'13:30:45'

NOW()和CURRENT_TIMESTAMP()

NOW()CURRENT_TIMESTAMP()函数返回当前日期和时间。它们的使用方式相同,可以直接调用这两个函数获取当前日期和时间。

SELECT NOW(); -- 返回当前日期和时间,例如'2023-07-06 13:30:45'
SELECT CURRENT_TIMESTAMP(); -- 返回当前日期和时间,例如'2023-07-06 13:30:45'

DATE_FORMAT()

DATE_FORMAT()函数用于将日期按照指定的格式进行格式化。可以使用不同的格式化符号来表示年、月、日、小时、分钟、秒等。

SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s'); -- 格式化当前日期和时间,例如'2023-07-06 13:30:45'
SELECT DATE_FORMAT(NOW(), '%W, %M %e, %Y'); -- 格式化当前日期,例如'Wednesday, July 6, 2023'

DATE_ADD()和DATE_SUB()

DATE_ADD()DATE_SUB()函数用于对日期进行加减操作。可以指定要加减的日期部分(年、月、日等)和相应的值。

SELECT DATE_ADD(NOW(), INTERVAL 2 DAY); -- 当前日期加2天
SELECT DATE_SUB(NOW(), INTERVAL 1 MONTH); -- 当前日期减1个月

DATEDIFF()

DATEDIFF()函数用于计算两个日期之间的天数差。

SELECT DATEDIFF('2023-07-10', '2023-07-06'); -- 计算两个日期之间的天数差,结果为4

DATE()

DATE()函数用于提取日期部分。

SELECT DATE(NOW()); -- 提取当前日期部分,例如'2023-07-06'

DAYNAME()和MONTHNAME()

DAYNAME()MONTHNAME()函数用于获取日期的星期和月份名称。

SELECT DAYNAME('2023-07-06'); -- 获取日期的星期名称,例如'Wednesday'
SELECT MONTHNAME('2023-07-06'); -- 获取日期的月份名称,例如'July'

3. Java示例代码

下面是使用Java和MySQL进行日期操作的示例代码:

import java.sql.*;
import java.text.SimpleDateFormat;

public class DateExample {
    public static void main(String[] args) {
        String url = "jdbc:mysql://localhost:3306/mydatabase";
        String username = "root";
        String password = "password";

        try {
            // 连接数据库
            Connection connection = DriverManager.getConnection(url, username, password);
            
            // 获取当前日期
            Statement statement = connection.createStatement();
            ResultSet resultSet = statement.executeQuery("SELECT CURDATE()");
            if (resultSet.next()) {
                Date currentDate = resultSet.getDate(1);
                System.out.println("Current date: " + currentDate);
            }
            
            // 格式化日期
            SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
            String formattedDate = dateFormat.format(new java.util.Date());
            System.out.println("Formatted date: " + formattedDate);
            
            // 关闭连接
            resultSet.close();
            statement.close();
            connection.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

运行上述示例代码,您将看到当前日期和格式化日期的输出结果。

4. 总结

本文详细介绍了MySQL中的日期格式及日期函数。通过对日期格式的解释和常用日期函数的讲解,大家应该对MySQL中的日期操作有了更深入的了解。

  • 日期格式包括DATE、TIME、DATETIME和TIMESTAMP,可以根据需求选择合适的格式进行存储和处理。
  • 日期函数包括CURDATE()、CURRENT_DATE()、CURTIME()、CURRENT_TIME()、NOW()、CURRENT_TIMESTAMP()、DATE_FORMAT()、DATE_ADD()、DATE_SUB()、DATEDIFF()、DATE()、DAYNAME()和MONTHNAME(),可以用于日期的获取、格式化、计算和比较等操作。

到此这篇关于MySQL日期格式以及日期函数的文章就介绍到这了,更多相关MySQL日期格式及日期函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • mysql 8.0.20 winx64安装配置方法图文教程

    mysql 8.0.20 winx64安装配置方法图文教程

    这篇文章主要为大家详细介绍了mysql 8.0.20 winx64安装配置方法图文教程,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-05-05
  • MySQL分区表的最佳实践指南

    MySQL分区表的最佳实践指南

    这篇文章主要给大家介绍了关于MySQL分区表的最佳实践指南,文中通过示例代码介绍的非常详细,对大家学习或者使用MySQL具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2020-05-05
  • MySQL普通表转换为分区表实战指南

    MySQL普通表转换为分区表实战指南

    本文将详细指导新手开发者如何将MySQL中的普通表转换为分区表,分区表在处理庞大数据集时展现出显著的性能优势,不仅能大幅提升查询速度,还能有效简化数据维护工作,文中有详细的代码示例供大家参考,需要的朋友可以参考下
    2024-06-06
  • mysql 5.7.20常用下载、安装和配置方法及简单操作技巧(解压版免安装)

    mysql 5.7.20常用下载、安装和配置方法及简单操作技巧(解压版免安装)

    这篇文章主要介绍了mysql 5.7.20常用下载、安装和配置方法及简单操作技巧(解压版免安装)的相关资料,需要的朋友可以参考下
    2017-11-11
  • 一文带你学透SQL语言的核心之DML操作

    一文带你学透SQL语言的核心之DML操作

    DML(Data Manipulation Language)是SQL语言的核心部分,其主要用于对数据库的数据进行增删改查,在学习数据时,学习DML操作是必不可少的一部分,本文就带大家详细了解SQL语言的核心DML操作,需要的朋友可以参考下
    2023-06-06
  • mysql查询条件not in 和 in的区别及原因说明

    mysql查询条件not in 和 in的区别及原因说明

    这篇文章主要介绍了mysql查询条件not in 和 in的区别及原因说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • mysql8.0 JSON_CONTAINS的使用说明

    mysql8.0 JSON_CONTAINS的使用说明

    这篇文章主要介绍了mysql8.0 JSON_CONTAINS的使用说明,具有很好的参考价值,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • mysql中engine=innodb和engine=myisam的区别介绍

    mysql中engine=innodb和engine=myisam的区别介绍

    MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持,本文为大家讲解下mysql中engine=innodb和engine=myisam的区别,不懂的朋友可以学习下,希望对大家有所帮助
    2013-07-07
  • mysql如何查询某一时间段内没有卖出的商品

    mysql如何查询某一时间段内没有卖出的商品

    室友拿来一道关于mysql查询的问题,利用mysql查询某一时间段内没有卖出的商品,需要的朋友可以参考下
    2014-02-02
  • mysql 5.7.13 winx64安装配置教程

    mysql 5.7.13 winx64安装配置教程

    这篇文章主要为大家分享了windows下mysql 5.7.13winx64安装配置教程,总结在安装mysql5.7时遇到的坑,感兴趣的朋友可以参考一下
    2016-12-12

最新评论