zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

【Mysql 学习】日期函数函数

2023-09-14 08:57:16 时间
+------------+
1 row in set (0.00 sec)
--curtime()返回当前时间
mysql select curtime();
+-----------+
| curtime() |
+-----------+
| 09:23:15  |
+-----------+
1 row in set (0.00 sec)
--now()返回当前的时间和日期
mysql select now();
+---------------------+
| now()               |
+---------------------+
| 2011-01-01 09:23:25 |
+---------------------+
1 row in set (0.00 sec)
--unix_timestamp 返回日期date 的unix时间戳
mysql select unix_timestamp(now());
+-----------------------+
| unix_timestamp(now()) |
+-----------------------+
|            1293845026 |
+-----------------------+
1 row in set (0.00 sec)
--from_unixtime()返回unix时间戳的日期值
mysql select from_unixtime(unix_timestamp(now()));
+--------------------------------------+
| from_unixtime(unix_timestamp(now())) |
+--------------------------------------+
| 2011-01-01 09:24:17                  |
+--------------------------------------+
1 row in set (0.00 sec)
--week(date)返回日期date为这一年的第几周
--year(date)返回日期date 的年
mysql select week(now()),year(now());
+-------------+-------------+
| week(now()) | year(now()) |
+-------------+-------------+
|           0 |        2011 |
+-------------+-------------+
1 row in set (0.01 sec)
--hour(time)--返回time的小时
--minute(time)--返回time的分钟
mysql select hour(curtime()) ,minute(curtime());
+-----------------+-------------------+
| hour(curtime()) | minute(curtime()) |
+-----------------+-------------------+
|               9 |                25 |
+-----------------+-------------------+
1 row in set (0.00 sec)
--monthname(date)--返回date的月份
mysql select monthname(now());
+------------------+
| monthname(now()) |
+------------------+
| January          |
+------------------+
1 row in set (0.01 sec)
--date_format(date,fmt) 返回按照字符fmt格式的date值
mysql select date_format(now(),%M,%D,%Y);
+-------------------------------+
| date_format(now(),%M,%D,%Y) |
+-------------------------------+
| January,1st,2011              |
+-------------------------------+
1 row in set (0.00 sec)
--date_add(date, interval exp type) 返回一个日期或时间值加上一个时间间隔的时间值。
mysql select now() current,date_add(now(), interval 31 day ) after31days;
+---------------------+---------------------+
| current             | after31days         |
+---------------------+---------------------+
| 2011-01-01 09:27:41 | 2011-02-01 09:27:41 |
+---------------------+---------------------+
1 row in set (0.01 sec)

mysql select now() current,date_add(now(), interval -31 day ) before31days ,date_add(now(), interval -a_-2 year_month) after_oneyear_2month;
+---------------------+---------------------+----------------------+
| current             | before31days        | after_oneyear_2month |
+---------------------+---------------------+----------------------+
| 2011-01-01 09:29:32 | 2010-12-01 09:29:32 | 2010-11-01 09:29:32  |
+---------------------+---------------------+----------------------+
1 row in set (0.00 sec)

--datediff(date1,date2)从起始时间date1到结束时间date2之间的天数

mysql select datediff(2007-09-15,now()) begin, datediff(2011-06-25,now()) end;
+-------+------+
| begin | end  |
+-------+------+
| -1204 |  175 |
+-------+------+
1 row in set (0.00 sec)
--计算从我上大学到现在的天数,和现在到我离开学校的天数。
mysql select abs(datediff(2007-09-15,now())) begin_days, datediff(2011-06-25,now())

end_days;
+------------+----------+
| begin_days | end_days |
+------------+----------+
|       1204 |      175 |
+------------+----------+
1 row in set (0.00 sec)
附录:mysql中的时间格式:
说明符     说明
%a 工作日的缩写名称  (Sun..Sat)
%b 月份的缩写名称  (Jan..Dec)
%c 月份,数字形式(0..12)
%D 带有英语后缀的该月日期  (0th, 1st, 2nd, 3rd, ...)
%d 该月日期, 数字形式 (00..31)
%e 该月日期, 数字形式(0..31)
%f 微秒 (000000..999999)
%H 小时(00..23)
%h 小时(01..12)
%I 小时 (01..12)
%i 分钟,数字形式 (00..59)
%j 一年中的天数 (001..366)
%k 小时 (0..23)
%l 小时 (1..12)
%M 月份名称 (January..December)
%m 月份, 数字形式 (00..12)
%p 上午(AM)或下午(PM)
%r 时间 , 12小时制 (小时hh:分钟mm:秒数ss 后加 AM或PM)
%S 秒 (00..59)
%s 秒 (00..59)
%T 时间 , 24小时制 (小时hh:分钟mm:秒数ss)
%U 周 (00..53), 其中周日为每周的第一天
%u 周 (00..53), 其中周一为每周的第一天 
%V 周 (01..53), 其中周日为每周的第一天 ; 和 %X同时使用
%v 周 (01..53), 其中周一为每周的第一天 ; 和 %x同时使用
%W 工作日名称 (周日..周六)
%w 一周中的每日 (0=周日..6=周六)
%X 该周的年份,其中周日为每周的第一天, 数字形式,4位数;和%V同时使用
%x 该周的年份,其中周一为每周的第一天, 数字形式,4位数;和%v同时使用
%Y 年份, 数字形式,4位数
%y 年份, 数字形式 (2位数)
%%‘%’文字字符


如何学习MySQL,这几本书初学者必看! 《高性能MySQL》第四版发布后,收到了很多读者的反馈,其中关注最多的是作为一个初学者,应该如何能够较为系统的学习MySQL,从而应对日常工作或者获得更好的职业发展。于是和多个业内朋友讨论后,整理了一些MySQL学习的推荐资源,供初学者参考。本文分成几部分,包括业界专家的经验、推荐书籍、视频/音频资源、其他资源或者学习方式、MySQL学习沟通群、抽奖赠书等。对于不同基础的人,学习的重点和方法是各有不同的,所以本文会列举主要的MySQL数据库的学习资源和方法,读者需要结合自己的实际情况选择合适的方法。如果你有好的经验分享,可以在留言评论谈谈你的经验。
MySQL基础学习(二) 指令通过客户端命令终端发出,数据库管理系统中通过mysqld.exe监听端口接收命令,数据库管理系统把按指令获得的信息返回去,最后客户端把返回来的信息显示出来
MySQL基础学习——初始MySQL MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。
学习MySQL的第六天:事务(基础篇) 事务是一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败。