mysql中格式化日期详解

yizhihongxing

MySQL中格式化日期详解

MySQL中,使用DATE_FORMAT()函数能够将日期、时间类型的数据格式化为我们需要的字符串格式。

语法

DATE_FORMAT(date,format)

其中,date为MySQL中日期、时间类型的字段或表达式,format为日期、时间格式字符串。

格式化语法

格式符号 含义
%Y 四位数字的完整年份
%y 两位数字的年份
%m 数字表示的月份(有前导0)
%c 数字表示的月份(没有前导0)
%d 月份中的第几天(有前导0)
%e 月份中的第几天(无前导0)
%H 小时(24小时制,有前导0)
%k 小时(24小时制,无前导0)
%h 小时(12小时制,有前导0)
%l 小时(12小时制,无前导0)
%i 分钟(有前导0)
%s 秒(有前导0)
%p AM或PM
%w 数字表示的星期几(0表示星期天,6表示星期六)
%a 缩写表示的星期几(Sun-Sat)
%W 完整表示的星期几(Sunday-Saturday)
%b,%h 缩写表示的月份(Jan-Dec)
%M 完整表示的月份(January-December)
%cst%Z 区域时间
%Y-%m-%d 年-月-日
%Y-%m-%d %H:%i 年-月-日 时:分
%Y-%m-%d %T 年-月-日 时:分:秒
%Y/%m/%d 年/月/日
%d.%m.%Y 日.月.年

示例

下面是两个示例,我们假设有一个表t,其中有一个字段是birthday,类型为DATE类型。

示例1

我们需要将birthday字段按照年-月-日的格式输出,可以使用如下SQL语句:

SELECT DATE_FORMAT(birthday,'%Y-%m-%d') as birthday FROM t;

输出结果如下:

birthday
1990-01-01
1991-02-02
1992-03-03
...

示例2

我们需要在birthday值的基础上增加年龄字段的输出,前面仍然是年-月-日的时间格式,后面是年龄数值,可以使用如下SQL语句:

SELECT CONCAT(DATE_FORMAT(birthday,'%Y-%m-%d'),' ',YEAR(CURDATE())-YEAR(birthday)) AS birthday FROM t;

输出结果类似如下:

birthday
1990-01-01 31
1991-02-02 30
1992-03-03 29
...

总结

DATE_FORMAT()函数是MySQL中日期、时间格式化的重要函数,其格式符号构成了丰富的日期、时间格式化语法。使用DATE_FORMAT()函数能够帮助我们将日期、时间类型的数据转换为我们所需要的字符串。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:mysql中格式化日期详解 - Python技术站

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

相关文章

  • MySQL系列之一 MariaDB-server安装

    下面是”MySQL系列之一 MariaDB-server安装”的完整攻略: MariaDB-server安装 简介 MariaDB是MySQL数据库的一个分支,具有高度兼容性,并提供了许多额外的功能,如更好的性能、负载平衡、高可用性等。本攻略将介绍如何在Linux系统上安装MariaDB-server。 步骤 1. 更新系统 在进行任何操作之前,我们应该先更…

    database 2023年5月22日
    00
  • 半小时带你复习数据库三级复习大纲(小结)

    首先我会将“半小时带你复习数据库三级复习大纲(小结)”放在自己的网站上,并将它分为几个小节,以便读者可以更加清晰地了解复习大纲的内容。以下是详细的攻略: 标题 首先,我会在页面上设置了适当的标题。这包括整个页面的标题以及每个小节的子标题。标题应该简洁而明确,同时能够涵盖相关的主题。以下是一个示例页面的标题: 半小时带你复习数据库三级复习大纲(小结) 知识点1…

    database 2023年5月19日
    00
  • mySQL占用虚拟内存达8百多兆问题解决思路

    MySQL占用虚拟内存达8百多兆问题解决思路 背景 MySQL作为一款强大的关系型数据库管理系统,不可避免地会面临一些性能问题,如占用过多的虚拟内存。在一些情况下,MySQL的虚拟内存占用可能会达到8百多兆,这将会导致其他应用程序无法正常工作,影响系统性能。 原因 MySQL占用虚拟内存过多的原因主要有以下几个方面:- 数据库表过多,索引过多,或数据量过大,…

    database 2023年5月19日
    00
  • CentOS系统上安装配置Oracle数据库的详细教程

    CentOS系统上安装配置Oracle数据库的详细教程 1. 前置条件 CentOS系统(本教程基于CentOS 7) Oracle数据库zip安装文件(下载地址: https://www.oracle.com/database/technologies/oracle-database-software-downloads.html) 配置好的YUM源 2.…

    database 2023年5月22日
    00
  • 讲解MySQL中<=>操作符的用法

    MySQL中<=>操作符用法 简介 MySQL中的<=>操作符是一种特殊的比较操作符,它用于比较两个值是否相等,但是与普通的=操作符不同的是,<=>操作符可以处理空值。如果其中一个比较的值是NULL,那么<=>操作符会返回0,否则返回1或0。下面让我们来看看<=>操作符的具体用法。 示例一 我们可以…

    database 2023年5月22日
    00
  • Oracle生成不重复票号与LPAD,RPAD与NEXTVAL函数解析

    下面是关于“Oracle生成不重复票号与LPAD,RPAD与NEXTVAL函数解析”的完整攻略。 1. 生成不重复的票号 在 Oracle 中,可以通过以下方式生成不重复的票号: 创建一个带自增列的表,例如: CREATE TABLE ticket_num ( id NUMBER PRIMARY KEY, ticket_no VARCHAR2(20) ); …

    database 2023年5月21日
    00
  • 系统高吞吐量下的数据库重复写入问题分析解决

    系统高吞吐量下的数据库重复写入问题分析解决 问题描述 在高吞吐的系统中,重复写入是常见的问题。当多个操作同时写入数据库时,如果没有使用正确的机制,就可能会出现数据重复写入的情况。这不仅仅会浪费数据库资源,还可能会影响数据的一致性。 问题分析 重复写入问题是出现在多个操作同时写入数据库时,这些操作之间互相竞争资源,从而导致数据重复写入。解决这个问题的方法有很多…

    database 2023年5月22日
    00
  • Oracle在PL/SQL中使用子查询

    下面是Oracle在PL/SQL中使用子查询的完整攻略,包含基本概念、语法、示例说明等。 基本概念 子查询是一个嵌套在另一个查询语句中的查询语句。它的结果可作为在 SELECT 、INSERT、UPDATE 、DELETE 等语句中使用,与表名类似(省略FROM),一般出现在WHERE子句中。 在PL/SQL中,子查询可以用于多个地方,包括: WHERE 子…

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