当前位置:网站首页>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开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦
边栏推荐
- Running the evict task with compensationTime
- Mysql索引特性(重要)
- win2003下FTP服务器如何搭建
- MySQL performance optimization (hardware, system configuration, table structure, SQL statements)
- Interviewer Ali: Describe to me the phenomenon of cache breakdown, and talk about your solution?
- Recommendation system: evaluation index [offline evaluation index: RMSE (root mean square error), AUC, precision, recall, F1] [online evaluation: A/B test] [generally required response time <0.5s]
- 是对称矩阵的对角化
- 无法正常访问服务器
- Database Tuning - Database Tuning
- JUnit 5测试中的临时目录(附实例及代码)
猜你喜欢

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

MySQL slow query optimization

MySQL mass production of data

多线程的互斥锁应用RAII机制

推荐系统-排序层-模型(一):Embedding + MLP(多层感知机)模型【Deep Crossing模型:经典的Embedding+MLP模型结构】

是对称矩阵的对角化

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

Install MySQL tutorial under Linux

推荐系统-排序层:排序层架构【用户、物品特征处理步骤】

【PM专用】快速统计团队还有谁没有登记上报信息,快速筛选出属于自己项目组的成员,未完成XXX工作事项的名单
随机推荐
To the operation of the int variable assignment is atom?
How to install and use PostgreSQL 14.4
These services can't ali interview?Then don't go to, the basic notification, etc
MySQL database --- Addition, deletion, modification and query of MySQL tables (advanced)
Common Expression Recognition Based on Face (1) - Basic Knowledge of Deep Learning
Weak Banks to data conversion ability?Matt software help solve bank dilemma
ECCV2022 | 对比视觉Transformer的在线持续学习
第03章 用户和权限管理【1.MySQL架构篇】【MySQL高级】
PPT如何开启演讲者模式?PPT开启演讲者模式的方法
el-input can only input integers (including positive numbers, negative numbers, 0) or only integers (including positive numbers, negative numbers, 0) and decimals
OSS simply upload pictures
Mapped Statements collection does not contain value for的解决方法
Download and installation of the latest version of MySQL 8.0 under Linux (detailed steps)
Office365无法打开word文档怎么办?Office365无法打开word文档的解决方法
MySQL sub-database sub-table
el-input 只能输入整数(包括正数、负数、0)或者只能输入整数(包括正数、负数、0)和小数
Recommended system: cold start problem [user cold start, item cold start, system cold start]
青蛙跳台阶(递归和非递归)-------小乐乐走台阶
历史上的今天:Win10 七周年;微软和雅虎的搜索协议;微软发行 NT 4.0
【请教】SQL语句按列1去重来计算列2之和?