Mysql日期格式以及内置日期函数用法详解

Mysql日期格式

在Mysql中,日期数据类型包括DATE、TIME、DATETIME、TIMESTAMP、YEAR五种,它们都有各自的日期格式。

DATE

DATE类型存储格式为'YYYY-MM-DD'。

例如:

2022-01-01

TIME

TIME类型存储格式为'hh:mm:ss'。

例如:

14:30:00

DATETIME

DATETIME类型存储格式为'YYYY-MM-DD hh:mm:ss'。

例如:

2022-01-01 14:30:00

TIMESTAMP

TIMESTAMP类型存储格式为'YYYY-MM-DD hh:mm:ss',但是它允许 NULL 值,而 DATETIME 不允许 NULL 值。

例如:

2022-01-01 14:30:00

YEAR

YEAR类型存储格式为'YYYY'或'YY'(4位或2位)。

例如:

2022

Mysql日期函数

Mysql内置了很多常用的日期函数,下面介绍几个常用的日期函数。

NOW

NOW() 函数返回当前的日期和时间。

例如:

SELECT NOW() as now_time;

输出:

now_time
2022-01-01 14:30:00

DATE_FORMAT

DATE_FORMAT(date, format) 函数以指定的格式显示日期或时间值。

例如:

SELECT DATE_FORMAT(NOW(), "%Y-%m-%d") as date;

输出:

date
2022-01-01

DATE_ADD

DATE_ADD(date, INTERVAL value unit) 函数用于在日期上加上一个指定的时间间隔。

例如:

SELECT DATE_ADD(NOW(), INTERVAL 1 DAY) as tomorrow;

输出:

tomorrow
2022-01-02 14:30:00

DATEDIFF

DATEDIFF(date1, date2) 函数返回两个日期之间的天数。

例如:

SELECT DATEDIFF("2022-01-02", "2022-01-01") as diff;

输出:

diff
1

示例说明

示例一

现在我们要找出一个表格中所有注册时间在2022年之后的用户,可以使用以下语句:

SELECT *
FROM user
WHERE DATE_FORMAT(create_time, "%Y") >= "2022";

这里使用了 DATE_FORMAT 函数,将 create_time 字段格式化成年份,然后跟 "2022" 进行比较,只保留符合条件的行。

示例二

现在我们要统计一个表格中每个用户的购买总金额,可以使用以下语句:

SELECT user_id, SUM(amount) as total_amount
FROM order
GROUP BY user_id;

这里使用了 SUM 聚合函数,根据 user_id 分组,计算每个用户的购买总金额。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Mysql日期格式以及内置日期函数用法详解 - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • Redis高可用一(主从)

    1、首先要有2或以上的Redis数据库,我这里三个redis(一主两从) 2、进入到主Redis 配置 redis.conf文件 # 主redis bind 0.0.0.0 # 将bind 127.0.0.1 改成 bind 0.0.0.0 requirepass 123456 # 设置密码为 123456 port 6380 # 设置端口 默认端口6379…

    Redis 2023年4月12日
    00
  • 在Ubuntu或Debian系统的服务器上卸载MySQL的方法

    没问题,下面就详细讲解在Ubuntu或Debian系统的服务器上卸载MySQL的方法。 1. 使用apt-get命令卸载 在Ubuntu或Debian系统中,可以使用apt-get命令卸载MySQL。具体步骤如下: 打开终端,输入命令sudo apt-get remove MySQL-server,回车。 系统会询问是否卸载mysql-server及其相关的…

    database 2023年5月22日
    00
  • linux系统中mysql数据库的导入和导出

    下面是详细的 “Linux系统中MySQL数据库的导入和导出” 教程: 导出MySQL数据库 使用 mysqldump 命令进行数据库的导出。命令语法如下: mysqldump -u <username> -p<password> <database_name> > <filename>.sql 其中: …

    database 2023年5月22日
    00
  • CentOS7按时间段截取指定的Tomcat日志到指定文件的方法

    以下是关于CentOS7按时间段截取指定的Tomcat日志到指定文件的方法的攻略: 1. 准备工作 在开始操作前,你需要完成以下准备工作: 确认你已经有可用的Tomcat日志文件。 确认你已经有足够的权限操作系统服务。 确认你已经安装了logrotate和crontab工具。 2. logrotate的使用 首先,我们需要使用logrotate工具来实现To…

    database 2023年5月22日
    00
  • SpringBoot实现动态控制定时任务支持多参数功能

    下面是“SpringBoot实现动态控制定时任务支持多参数功能”的完整攻略。 简介 SpringBoot是基于Spring框架的一种快速开发框架,可以轻松完成Web开发、任务调度等日常任务。我们常常需要使用定时任务来完成一些周期性的任务,而定时任务也需要支持多参数传递,以便动态控制任务的执行时间和任务参数。本文将介绍如何使用SpringBoot框架来实现动态…

    database 2023年5月21日
    00
  • redis简单总结

    一、redis的准备。 下载redis:路径:Linux:http://www.redis.io.comwindow:http://www.newasp.net/soft/67186.html 解压后,有5个应用程序: redis-server.exe:服务程序 redis-cli.exe:简单测试redis-check-dump.exe:本地数据库检查 r…

    Redis 2023年4月12日
    00
  • 一篇文章弄懂MySQL查询语句的执行过程

    一篇文章弄懂MySQL查询语句的执行过程 1. MySQL查询语句的执行顺序 MySQL查询语句的执行顺序一般遵循以下步骤: FROM子句中指定的表 WHERE子句中的过滤条件 GROUP BY 子句中的分组(如果有GROUP BY子句) 筛选出分组后的行(如果有HAVING子句) 对筛选后的行进行计算(如果有SELECT子句中涉及到的计算函数,例如SUM、…

    database 2023年5月22日
    00
  • Springboot + Mysql8实现读写分离功能

    下面是Springboot + Mysql8实现读写分离功能的完整攻略及示例说明。 1. 读写分离介绍 读写分离是指将数据库中的读和写操作分配到不同的节点上进行,以提升数据库的性能和可用性。一般来说,读操作比写操作多得多,而且读操作不涉及到数据的修改,所以可以通过将读操作分配到多个节点上,从而提高数据库读取的效率。 2. Mysql8读写分离实现原理 Mys…

    database 2023年5月21日
    00
合作推广
合作推广
分享本页
返回顶部