1、返回日期的时间函数

  date_add() : 可以为指定日期增加/减少任意一段时间间隔。下面举例将当前日期增加一个月和减少一个月

mysql> select date_add(current_date(), interval 1 month) as add_one_month;
+---------------+
| add_one_month |
+---------------+
| 2016-12-30 |
+---------------+
1 row in set (0.00 sec) mysql> select date_add(current_date(), interval -1 month) as reduce_one_month;
+------------------+
| reduce_one_month |
+------------------+
| 2016-10-30 |
+------------------+
1 row in set (0.00 sec)

  格式:date_add('要修改的时间',interval 数量 时间间隔类型), 下面展示一些常见的时间间隔类型

间隔名称 描述
Second 秒数
Minute 分钟数
Hour 小时数
Day 天数
Month 月份
Year 年份
Minute_second 分钟和秒,以":"分隔
Hour_second 小时、分钟和秒,以":"分隔
Year_month 年份和月份,以"-"分隔

  下面对时间间隔后三种举例:

  ①、将当前时间增加3小时20分钟

mysql> select current_timestamp;  -- 当前时间
+---------------------+
| current_timestamp |
+---------------------+
| 2016-11-30 15:22:46 |
+---------------------+
1 row in set (0.00 sec) mysql> select date_add(current_timestamp, interval '3:20:00' Hour_second) as add_HourSecond;
+---------------------+
| add_HourSecond |
+---------------------+
| 2016-11-30 18:42:49 |
+---------------------+
1 row in set (0.00 sec)

  ②、将日期'2000-01-01'增加16年10个月

mysql> select date_add('2000-01-01', interval '16-10' Year_month) as add_Year_month;
+----------------+
| add_Year_month |
+----------------+
| 2016-11-01 |
+----------------+
1 row in set (0.00 sec)

  

函数last_day() : 返回所求月份的最后一天

  举例:求"2016-01-01"该月的最后一天

mysql> select last_day('2016-01-01');
+------------------------+
| last_day('2016-01-01') |
+------------------------+
| 2016-01-31 |
+------------------------+
1 row in set (0.00 sec)

 无论提供的参数是date型还是datetime型,last_day()函数都将返回一个date值

2、返回字符串的时间函数

  dayname() : 返回所求的日期是星期几

  举例:求当前日期是星期几

mysql> select dayname(current_date);
+-----------------------+
| dayname(current_date) |
+-----------------------+
| Wednesday |
+-----------------------+
1 row in set (0.00 sec)

  year()、month()、day()、time()...提取部分时间

mysql> select year(current_date),month(current_date),day(current_date),time(current_timestamp);
+--------------------+---------------------+-------------------+-------------------------+
| year(current_date) | month(current_date) | day(current_date) | time(current_timestamp) |
+--------------------+---------------------+-------------------+-------------------------+
| 2016 | 11 | 30 | 16:12:57 |
+--------------------+---------------------+-------------------+-------------------------+
1 row in set (0.00 sec)

3、返回数字的时间函数

  datediff() : 计算两个日期相隔的天数

  举例:计算"2000-01-01"距离现在有多少天

mysql> select datediff('2016-11-30', '2000-01-01');
+--------------------------------------+
| datediff('2016-11-30', '2000-01-01') |
+--------------------------------------+
| 6178 |
+--------------------------------------+
1 row in set (0.00 sec)

  注:datediff()函数会忽略参数中的时钟值。

    sql server 同样具备datediff()函数,但可以在指定时间间隔的类型(如年、月、日、小时等)。sql server 实现上一个例子的方法:

select datediff(day, '2016-11-30', '2000-01-01');

MySQL学习记录--操作时间数据的更多相关文章

  1. 我的MySQL学习记录 完结篇DAY05~

    课程已全部学完,Redis\mongoDB 的学习也会提上日程啦~剩下的最大的最大的问题在于练习,大量的练习,后期会发我的学习记录. 小记:也不知道是不是加强针的缘故,老是拉肚子,记录彻底感冒的一天, ...

  2. MySQL学习记录--生成时间日期数据

    时间数据格式组件: 组件 定义 范围 YYYY 年份,包括世纪 1000~9999 MM 月份 01(January)~12(December) DD 日 01~31 HH 小时 00~23 HHH ...

  3. Mysql --学习:大量数据快速导入导出

    声明:此文供学习使用,原文:https://blog.csdn.net/xiaobaismiley/article/details/41015783 [实验背景] 项目中需要对数据库中一张表进行重新设 ...

  4. Mysql 学习记录

    ( xampp 的mysql 与 直接用 dnf 安装的 mysql 有冲突! ) 1. 数据库基本知识: 一张表的行 又称为 记录 一张表的列 又称为 字段 表结构:所有字段,规定了你的每一条记录所 ...

  5. mysql学习记录

    干净卸载mysql:https://blog.csdn.net/cxy_summer/article/details/70142322mysql 解压缩版安装说明:https://jingyan.ba ...

  6. mysql学习笔记一 —— 数据的增删改查

    1.连接mysql mysql 直接回车(是以root身份,密码空,登陆的是本机localhost) [root@www mysql]# mysql -uroot -p123 -S /var/lib/ ...

  7. MySQL学习记录一

    1.MySQL join操作 left join以左表为基础,其记录会全部表示出来,而右表只显示满足搜索条件的记录.right join以右表为基础,其记录会全部显示出来,而左表只显示满足搜索条件的记 ...

  8. MySQL学习记录(导入Excel表到数据库,并筛选条件输出)

    附上:重置mysql账号密码方法 ubuntu系统下mysql重置密码和修改密码操作 - skh2015java的博客 - CSDN博客(改完重启,登录mysql要root/sudo权限) Cento ...

  9. mysql学习记录(一)

    #打开MySQL服务 sudo service mysql start #Ubuntu Linux 安装配置MySQL #安装MySQL服务器,核心程序 sudo apt-get install my ...

随机推荐

  1. C语言初学者代码中的常见错误与瑕疵(23)

    见:C语言初学者代码中的常见错误与瑕疵(23)

  2. 对于前端JS、Html、CSS的大小、位置是否影响网站的相应时间

    1.页面中大量的注释代码.空行会影响页面的加载速度 尽量去除打断的注释代码,及空行:尽可能的使用压缩后的JS.CSS文件,太小的文件没必要压缩 2.有人说CSS样式放在页面的开头,JS文件放在页面的结 ...

  3. select change下拉框改变事件 设置选定项,禁用select

    select change下拉框改变事件 设置选定项,禁用select 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitio ...

  4. Java 邮件发送

    <dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId&g ...

  5. zookeeper,dubbo,dubbo admin

    zookeeper 1. 分布式协调服务:我们的程序运行在不同的机器上,这些机器可能位于同一个机架,同一个机房又或不同的数据中心.在这样的环境中,我们要实现协调该怎么办?那么这就是分布式协调服务要干的 ...

  6. python获取绝对路径

    import osimport sysprint 'os.getcwd()=',os.getcwd()print 'sys.argv=',sys.argvprint 'sys.argv[0]=',sy ...

  7. ftp常用命令

    ABOR 中断数据连接程序 ACCT <account> 系统特权帐号 ALLO <bytes> 为服务器上的文件存储器分配字节 APPE <filename> 添 ...

  8. LLVM与Clang的概述及关系

    LLVM是构架编译器(compiler)的框架系统,以C++编写而成,用于优化以任意程序语言编写的程序的编译时间(compile-time).链接时间(link-time).运行时间(run-time ...

  9. Mac中安装node.js和npm

    换了Mac需要安装noed.js和npm记录一下首先访问node.js官网(https://nodejs.org/en/download/) 点击下载完后,一路点安装 就安装完成了 然后打开-终端-输 ...

  10. 前端之CSS(一)

    一.什么是CSS CSS是Cascading Style Sheets,层叠样式表,高大上的说法是用来控制网页数据的表现,可以使网页的表现与数据内容分离.通俗来讲,就是用各种盒子的堆叠实现我们想要的H ...