MySQL中常用函数之日期函数使用详解
关联博文:
MySQL中日期时间类型与格式化
该篇总结MySQL 中常用的日期时间函数。
【1】DATE_FORMAT (datetime ,FormatCodes )
将日期转换成字符,示例如下:
SELECT DATE_FORMAT(SYSDATE(),'%W'),
DATE_FORMAT(SYSDATE(),'%w'),
DATE_FORMAT(SYSDATE(),'%Y-%m-%d');
date_format格式参考MySQLdateFormat格式
【2】EXTRACT(unit FROM date):提取日期的指定部分
语法格式如下:
SELECT EXTRACT(unit FROM date)
示例如下:
SELECT
EXTRACT(second FROM SYSDATE()),
EXTRACT(minute FROM SYSDATE()),
EXTRACT(hour FROM SYSDATE()),
EXTRACT(day FROM SYSDATE()),
EXTRACT(week FROM SYSDATE()),
EXTRACT(month FROM SYSDATE()),
EXTRACT(year FROM SYSDATE())
【3】DAY
语法格式如下:
DAY(date) //返回日期的天;DAY() 和DAYOFMONTH()的意义相同。
DAYNAME (date) //英文星期
DAYOFWEEK (date) //一周中的第几天,1为星期日,范围1-7
DAYOFMONTH(date)//一月中的第几天,一号为第一天,范围1-31
DAYOFYEAR (date) //一年中的第几天,范围1-366
示例如下:
SELECT
DAY(SYSDATE()),
DAYNAME(SYSDATE()),
DAYOFWEEK(SYSDATE()),
DAYOFMONTH(SYSDATE()),
DAYOFYEAR(SYSDATE());
【4】week
语法格式如下:
WEEK(date[,mode])
该函数返回date 对应的星期数。WEEK() 的双参数形式允许你指定该星期是否起始于周日或周一, 以及返回值的范围是否为从0 到53 或从1 到53。若 mode参数被省略,则使用default_week_format系统自变量的值(不改变默认为0)。
以下为mode的说明:
WEEKDAY(date)
//返回date (0 = 周一, 1 = 周二, ... 6 = 周日)对应的工作日索引 WEEKOFYEAR(date)
//将该日期的阳历周以数字形式返回,范围是从1到53。
//它是一个兼容度函数,相当于WEEK(date,3)。
【5】year
语法格式如下:
YEAR(date)
返回date 对应的年份,范围是从1000到9999。
YEARWEEK(date), YEARWEEK(date,start)
返回一个日期对应的年或周。start参数的工作同 start参数对 WEEK()的工作相同。结果中的年份可以和该年的第一周和最后一周对应的日期参数有所不同。
注意,周数和WEEK()函数都可选参数0或 1。可能会返回的week有所不同,原因是此时 WEEK() 返回给定年份的语境中的周。
【6】CURRENT_X
语法格式如下:
CURRENT_DATE ( ) //当前日期
CURRENT_TIME ( ) //当前时间
CURRENT_TIMESTAMP ( ) //当前时间戳
NOW ( ) //当前时间
示例如下:
SELECT
CURRENT_DATE(),
CURRENT_TIME(),
CURRENT_TIMESTAMP(),
NOW();
【7】日期加减
① 求差:date1-date2(只算日期,不算时间)
DATEDIFF (date1 ,date2 ) //两个日期差
示例如下 :
SELECT DATEDIFF(SYSDATE(),'2017-08-04') ;
TIMEDIFF(datetime1,datetime2) : 两个日期时间型相减:
SELECT TIMEDIFF(SYSDATE(),'2017-08-07 20:20:20'),TIMEDIFF('2017-08-07 20:20:20',SYSDATE());
② DATE_ADD(date2 , INTERVAL d_value d_type )
在date2中加上日期或时间
SELECT DATE_ADD(SYSDATE(),INTERVAL 3 HOUR)type:可为second,minute,hour,day,week,month and year;
同ADDDATE(date,INTERVAL expr type)。
③ DATE_SUB (date2 , INTERVAL d_value d_type )
在date2上减去一个时间
SELECT DATE_SUB(SYSDATE(),INTERVAL 3 hour);其他同②。
同SUBDATE(date,INTERVAL expr type)。
【8】根据日期判断秒,分,时,天,周,月,年
语法格式如下:
SECOND(datetime)//返回datetime的秒;
MINUTE(datetime)//返回datetime的分钟;
HOUR(datetime )//返回datetime的小时;
DAY (date) //返回日期的天;
WEEK (datetime [,start_of_week ]) //第几周
MONTH(datetime)//月份
YEAR(datetime)//年份
DATE (datetime ) //返回datetime的日期部分;
示例如下 :
SELECT
SECOND(SYSDATE()),
MINUTE(SYSDATE()),
HOUR(SYSDATE()),
DAY(SYSDATE()),
WEEK(SYSDATE()),
MONTH(SYSDATE()),
YEAR(SYSDATE())
DATE(SYSDATE());
【9】时间相加减
① 时间相加
将time_interval加到date2
ADDTIME (date2 ,time_interval )
示例如下 :
SELECT ADDTIME('1997-12-31 23:59:59.999999','1 1:1:1.000002');
② 时间相减
SELECT SUBTIME('1997-12-31 23:59:59.999999','1 1:1:1.000002');
【10】秒数,时间转换
① 秒数转时间
SEC_TO_TIME (seconds )
② 时间转秒数
TIME_TO_SEC(time)
【11】datetime的微秒部分
MICROSECOND(datetime) //微秒
【12】datetime的月的最后日期
即,隶属的月的最后一天是几号。
LAST_DAY(date) //date的月的最后日期
【13】month
语法格式如下:
MONTH(date)
//返回date 对应的月份,范围时从 1 到 12。MONTHNAME(date)//返回date 对应月份的全名。
【14】日期时间串拼接
语法格式如下:
MAKEDATE (year ,day ) //给出年及年中的第几天,生成日期串
MAKETIME (hour ,minute ,second ) //生成时间串
示例如下 :
SELECT MAKEDATE(2017,1),MAKETIME (20,20 ,20);
【15】JavaScript中中的Date对象
用法如下所示:
var myDate=new Date();
myDate.getYear(); //获取当前年份(2位)
myDate.getFullYear(); //获取完整的年份(4位,1970-????)
myDate.getMonth(); //获取当前月份(0-11,0代表1月)
myDate.getDate(); //获取当前日(1-31)
myDate.getDay(); //获取当前星期X(0-6,0代表星期天)
myDate.getTime(); //获取当前时间(从1970.1.1开始的毫秒数)
myDate.getHours(); //获取当前小时数(0-23)
myDate.getMinutes(); //获取当前分钟数(0-59)
myDate.getSeconds(); //获取当前秒数(0-59)
myDate.getMilliseconds(); //获取当前毫秒数(0-999)
myDate.toLocaleDateString(); //获取当前日期
var mytime=myDate.toLocaleTimeString(); //获取当前时间
myDate.toLocaleString( ); //获取日期与时间
MySQL中常用函数之日期函数使用详解相关推荐
- php中的文字排版问题,CSS布局中常用的文字排版相关属性详解
本篇文章给大家带来的内容是关于CSS布局中常用的文字排版相关属性详解,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. CSS布局中常用的文字排版相关属性详解 一.设定文字字体.颜色.大 ...
- MySQL—数仓ETL开发中常用到的日期函数
在数据仓库ETL开发中,当以增量的方式进行数据同步时,会将数据表中的时间字段作为增量字段获取增量数据.对于MySQL数据库来说,总结了以下日期表示以及需要注意的问题. 一.需要注意的问题: 查看MyS ...
- MySql中常用的内置函数
函数中可以将字段名当作变量来用,变量的值就是该列对应的所有值:在整理98在线字典数据时(http://zidian.98zw.com/),有这要一个需求,想从多音字duoyinzi字段值提取第一个拼音 ...
- MySQL中修改密码及访问限制设置详解
MySQL是一个真正的多用户.多线程SQL数据库服务器.MySQL是以一个客户机/服务器结构的实现,它由一个服务器守护程序mysqld和很多不同的客户程序和库组成.由于其源码的开放性及稳定性,且与网站 ...
- MySQL 中的 SET 与 ENUM 类型使用详解
一.SET类型 在创建表时,就指定SET类型的取值范围. [sql] view plaincopy 属性名 SET('值1','值2','值3'...,'值n') 其中,"属性名" ...
- mysql中修改密码及反问限制设置详解
http://www.yesky.com/404/1935404.shtml MySQL是一个真正的多用户.多线程SQL数据库服务器.MySQL是以一个客户机/服务器结构的实现,它由一个服务器守护程序 ...
- mysql中索引的作用是什么_详解mysql中索引的作用
1. 索引是什么,首先我们可以举个例子,字典大家应该都使用过,我们可以使用目录快速定位到所要查找的内容,那么索引跟目录的作用类似,在数据库表记录中,利用索引,可以快速过滤查找到数据记录. 2. 索引类 ...
- MySQL中你可能忽略的COLLATION实例详解
文章来源: 学习通http://www.bdgxy.com/ 普学网http://www.boxinghulanban.cn/ 智学网http://www.jaxp.net/ 前言 MySQL 数据库 ...
- springMVC注解中@RequestMapping中常用参数value params 以及@RequestParam 详解
转载自 https://blog.csdn.net/qq_35067322/article/details/52811300?locationNum=9&fps=1 https://www.c ...
- 【Java学习笔记之十一】Java中常用的8大排序算法详解总结
分类: 1)插入排序(直接插入排序.希尔排序) 2)交换排序(冒泡排序.快速排序) 3)选择排序(直接选择排序.堆排序) 4)归并排序 5)分配排序(基数排序) 所需辅助空间最多:归并排序 所需辅助空 ...
最新文章
- swift UI专项训练4 场景过渡-转场
- 最高一万星!GitHub 标星最多的 40 篇 ICLR2020 计算机视觉论文合集,附打包下载
- distable:table-cell
- python turtle画彩虹的代码_如何用python海龟库画彩虹
- Kafka源码解析 - 副本迁移任务提交流程
- pb 执行存储过程带参数_SQL高级知识——存储过程
- express 学习记录
- 进阶10 补充知识点
- 出师表 / 前出师表 作者:诸葛亮
- virtualbox不能桥接的解决办法
- thinkphp开发码支付系统/三网免挂/微信金额免输入/源支付5.8/打造更专业的聚合免签支付系统带云端
- 【第3版emWin教程】第57章 emWin6.x的炫酷时钟表盘设计,结合硬件RTC
- 计算机类期刊投稿心得
- 脚踏实地《数据结构第二章》第五节:循环链表
- Python中的字符串下标
- 对经典恒流源做电子负载 分析
- 计算机网络第一章(谢希仁第8版学习)
- 退出cmd.exe或退出批处理文件
- 混合云网络怎么组网搭建?
- 如何取消 Ms office2019提示 “获取正版office,你可能是盗版软件的受害者”
热门文章
- 百度地图 动态矢量圆 BMap Circle
- 70年代的红灯711-5国产古董收音机内部电路欣赏,做工精良,性能稳定
- 关于微彩华创 - 关于
- 专访小米科技 VR 产品总监马杰思:VR 产品的迭代和技术瓶颈
- Unity之几种Json库比对
- 语文七年级计算机作文,七年级语文考试反思作文600字(精选7篇)
- php7.1 安装pecl,mac pecl 安装php7.1扩展教程
- android手机太卡怎么办,安卓手机卡顿反应慢怎么办?学会了这些就可以轻松解决...
- SetWindowLong 用法
- 一封金融信创生态实验室的感谢信