当前位置:网站首页>MySQL的DATE_FORMAT()函数将Date转为字符串
MySQL的DATE_FORMAT()函数将Date转为字符串
2022-07-30 20:14:00 【iijik55】
一、前言
最近要做一些报表,其中有一个创建报表的时间,需要以固定的格式输出;那么在SQL层面如何处理呢?
二、DATE_FORMAT()函数
要将日期值格式化为特定格式,可以使用DATE_FORMAT函数。 DATE_FORMAT函数的语法如下:
DATE_FORMAT(date,format);
DATE_FORMAT()函数中两个参数的意思:
- date:要格式化的有效日期值;
- format:由预定义的说明符组成的格式字符串,每个说明符前面都有一个百分比字符(%)。有关预定义说明符的列表,请参见下表。
表格 – 可用于构建日期格式字符串的说明符及其含义:
限定符
含义
%a
三个字符缩写的工作日名称,例如:Mon, Tue, Wed,等
%b
三个字符缩写的月份名称,例如:Jan,Feb,_Mar_等
%c
以数字表示的月份值,例如:1, 2, 3…12
%D
英文后缀如:0th, 1st, _2nd_等的一个月之中的第几天
%d
如果是1个数字(小于10),那么一个月之中的第几天表示为加前导加0, 如:00, 01,02, …31
%e
没有前导零的月份的日子,例如:1,2,… 31
%f
微秒,范围在000000..999999
%H
24小时格式的小时,前导加0,例如:00,01…23
%h
小时,12小时格式,带前导零,例如:01,02 … 12
%I
与%h相同
%i
分数为零,例如:00,01,… 59
%j
一年中的的第几天,前导为0,例如,001,002,… 366
%k
24小时格式的小时,无前导零,例如:0,1,2 … 23
%l
12小时格式的小时,无前导零,例如:0,1,2 … 12
%M
月份全名称,例如:January, February,…December
%m
具有前导零的月份名称,例如:00,01,02,… 12
%p
AM或PM,取决于其他时间说明符
%r
表示时间,12小时格式hh:mm:ss AM或PM
%S
表示秒,前导零,如:00,01,… 59
%s
与%S相同
%T
表示时间,24小时格式hh:mm:ss
%U
周的第一天是星期日,例如:00,01,02 … 53时,前导零的周数
%u
周的第一天是星期一,例如:00,01,02 … 53时,前导零的周数
%V
与%U相同,它与%X一起使用
%v
与%u相同,它与%x一起使用
%W
工作日的全称,例如:Sunday, Monday,…, Saturday
%w
工作日,以数字来表示(0 = 星期日,1 = 星期一等)
%X
周的四位数表示年份,第一天是星期日; 经常与%V一起使用
%x
周的四位数表示年份,第一天是星期日; 经常与%v一起使用
%Y
表示年份,四位数,例如2000,2001,…等。
%y
表示年份,两位数,例如00,01,…等。
%%
将百分比(%)字符添加到输出
恕我直言,真多;这谁没事会全记下来;我们一般记几个常用的就可;
DATE_FORMAT字符串格式
格式化日期
%Y/%m/%d
2022/04/26
%Y-%m-%d
2022-04-26
%e/%c/%Y
4/8/2022
%d/%m/%Y %H:%i
26/04/2022 17:27
%b %d %Y %h:%i %p
Apr 26 2022 05:28 PM
%Y-%m-%d %T:%f
2022-04-26 17:29:30:000000
%W %D %M %Y %T
Tuesday 26th April 2022 17:31:34
三、示例
user表随便用一个自己的表替换即可,id为主键。now()为MySQL自带的获取当前时间的函数;
1> %Y/%m/%d
如果月份和日的数字小于10,则直接必须用0填充,显示两位数字;
select date_format(now(), '%Y/%m/%d') now_time ,id from user where id = 68;

2> %Y-%m-%d
select date_format(now(), '%Y-%m-%d') now_time ,id from user where id = 68;

3> %e/%c/%Y
如果月份和日的数字小于10,则直接不在用0填充,可以只显示一位;
select date_format(now(), '%e/%c/%Y') now_time ,id from user where id = 68;

4> %d/%m/%Y %H:%i
select date_format(now(), '%d/%m/%Y %H:%i') now_time ,id from user where id = 68;

5> %b %d %Y %h:%i %p
select date_format(now(), '%b %d %Y %h:%i %p') now_time ,id from user where id = 68;

6> %Y-%m-%d %T:%f
select date_format(now(), '%Y-%m-%d %T:%f') now_time ,id from user where id = 68;

7> %W %D %M %Y %T
select date_format(now(), '%W %D %M %Y %T') now_time ,id from user where id = 68;

先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦
边栏推荐
- 银行数据资产转换能力弱?思迈特软件助力解决银行困境
- Frog jumping steps (recursive and non-recursive) ------- Xiaolele walks the steps
- Linux下安装Mysql5.7,超详细完整教程,以及云mysql连接
- These services can't ali interview?Then don't go to, the basic notification, etc
- 推荐系统:冷启动问题【用户冷启动、物品冷启动、系统冷启动】
- MySQL复制表结构、表数据的方法
- Office365无法打开word文档怎么办?Office365无法打开word文档的解决方法
- 6.3有定型性 第七章
- WPS没有在任务栏显示所有窗口选项怎么回事?
- Snowflake vs. Redshift的2022战报:两个数据平台谁更适合你?
猜你喜欢
![KEIL problem: [keil Error: failed to execute 'C:\Keil\ARM\ARMCC']](/img/24/762cec2b4495e80a3e45fac1fac13e.png)
KEIL problem: [keil Error: failed to execute 'C:\Keil\ARM\ARMCC']

PostgreSQL 14.4如何安装使用

【视频】极值理论EVT与R语言应用:GPD模型火灾损失分布分析

PR视频剪辑软件教程

excel数字显示e+17怎么恢复?excel数字变成了小数点+E+17的解决方法

How to install and use PostgreSQL 14.4

推荐系统:概述【架构:用户/物品特征工程---->召回层---->排序层---->测试/评估】【冷启动问题、实时性问题】

Ordinary int main(){} does not write return 0; what will happen?

Snowflake vs. Redshift的2022战报:两个数据平台谁更适合你?

365天挑战LeetCode1000题——Day 044 按公因数计算最大组件大小 并查集
随机推荐
Mac安装PHP开发环境
MySQL performance optimization (hardware, system configuration, table structure, SQL statements)
基于人脸的常见表情识别(2)——数据获取与整理
我是一名阿里在职9年软件测试工程师,我的经历也许能帮到处于迷茫期的你
【PM专用】快速统计团队还有谁没有登记上报信息,快速筛选出属于自己项目组的成员,未完成XXX工作事项的名单
MySQL数据库之JDBC编程
WPS怎么独立窗口显示?wps单独窗口显示怎么操作?
halcon——轮廓线
[PM only] Quickly count who else in the team has not registered and reported information, and quickly screen out the members of their own project team who have not completed the list of XXX work items
To the operation of the int variable assignment is atom?
Linux下安装Mysql5.7,超详细完整教程,以及云mysql连接
PR视频剪辑软件教程
基于人脸的常见表情识别(1)——深度学习基础知识
Brush questions record----string
Frog jumping steps (recursive and non-recursive) ------- Xiaolele walks the steps
MySQL database --- Addition, deletion, modification and query of MySQL tables (advanced)
Maxwell 一款简单易上手的实时抓取Mysql数据的软件
Based on the face of the common expression recognition - model building, training and testing
Linux download and install mysql5.7 version tutorial the most complete and detailed explanation
How to build FTP server under win2003