内容简介

datetime类型和timestamp类型的取值范围,CURRENT_DATE()函数应用,NOW()函数应用,DATE_FROMAT()函数取星期,日期、字符串、时间戳相互转换等。

时间范围

datetime类型范围:1000-01-01 00:00:00 ~ 9999-12-31 23:59:59

timestamp类型范围:1970-01-01 08:00:01 ~ 2038-01-19 11:14:07

CURRENT_DATE()函数

#获取当前日期
SELECT CURRENT_DATE() AS newDate; #2019-05-20
#当前日期加1天(其他天数方法一样)
SELECT DATE_ADD(CURRENT_DATE(), INTERVAL 1 DAY) AS newDate; #2019-05-21
#当前日期减1天
SELECT DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY) AS newDate; #2019-05-19
#当前日期加1个月
SELECT DATE_ADD(CURRENT_DATE(), INTERVAL 1 MONTH) AS newDate; #2019-06-20
#当前日期减1个月
SELECT DATE_ADD(CURRENT_DATE(), INTERVAL -1 MONTH) AS newDate; #2019-04-20
#当前日期加1年
SELECT DATE_ADD(CURRENT_DATE(), INTERVAL 1 YEAR) AS newDate; #2020-05-20
#当前日期减1年
SELECT DATE_ADD(CURRENT_DATE(), INTERVAL -1 YEAR) AS newDate; #2018-05-20 #指定日期加1天(可将DAY换为MONTH,YEAR来实现加1个月,1年)
SELECT DATE_ADD('2019-05-02', INTERVAL 1 DAY) AS newDate; #2019-05-03
#指定日期减1天(可将DAY换为MONTH,YEAR来实现减1个月,1年)
SELECT DATE_ADD('2019-05-02', INTERVAL -1 DAY) AS newDate; #2019-05-01 #当前时间添加1小时10分钟10秒钟
SELECT DATE_ADD(NOW(), INTERVAL '1:10:10' HOUR_SECOND) AS newTime; #2019-05-20 15:59:32
#指定时间添加1小时10分钟10秒钟
SELECT DATE_ADD('2019-04-17 2:00:00', INTERVAL '1:10:10' HOUR_SECOND) AS newTime; #2019-04-17 03:10:10

NOW()函数

#获取当前时间
SELECT NOW() AS newTime; #2019-05-20 14:28:41
#当前时间减30秒
SELECT (NOW() - INTERVAL 30 SECOND) AS newTime; #2019-05-20 14:29:31
#当前时间加30秒
SELECT (NOW() + INTERVAL 30 SECOND) AS newTime; #2019-05-20 14:29:31
#当前时间减30分钟
SELECT (NOW() - INTERVAL 30 MINUTE) AS newTime; #2019-05-20 14:02:26
#当前时间加30分钟
SELECT (NOW() + INTERVAL 30 MINUTE) AS newTime; #2019-05-20 15:02:41
#当前时间减1天
SELECT (NOW() - INTERVAL 1 DAY) AS newTime; #2019-05-19 14:33:26
#当前时间加1天
SELECT (NOW() + INTERVAL 1 DAY) AS newTime; #2019-05-21 14:33:33
#当前时间减1个月
SELECT (NOW() - INTERVAL 1 MONTH) AS newTime; #2019-04-20 14:34:10
#当前时间加1个月
SELECT (NOW() + INTERVAL 1 MONTH) AS newTime; #2019-06-20 14:34:47
#当前时间减1年
SELECT (NOW() - INTERVAL 1 YEAR) AS newTime; #2018-05-20 14:35:09
#当前时间加1年
SELECT (NOW() + INTERVAL 1 MONTH) AS newTime; #2019-06-20 14:35:23 #指定时间的加减,将上面的NOW()函数换为指定日期时间即可,以加30分钟为例,如下:
SELECT ('2019-01-02 12:30:00' + INTERVAL 30 MINUTE) AS newTime; #2019-01-02 13:00:00

日期取星期几

# 1:星期一 2:星期二 3:星期三 4:星期四 5:星期五 6:星期六 0:星期日
SELECT DATE_FORMAT('2019-05-20','%w') AS weekDay FROM DUAL; #1 # 2:星期一 3:星期二 4:星期三 5:星期四 6:星期五 7:星期六 1:星期日
SELECT DAYOFWEEK('2019-05-20') AS weekDay; #2 # 0:星期一 1:星期二 2:星期三 3:星期四 4:星期五 5:星期六 6:星期日
SELECT WEEKDAY('2019-05-20') AS weekDay; #0 #可将具体日期换为CURRENT_DATE()函数取当前日期,如下:
SELECT DATE_FORMAT(CURRENT_DATE(),'%w') AS weekDay FROM DUAL;
SELECT DAYOFWEEK(CURRENT_DATE()) AS weekDay;
SELECT WEEKDAY(CURRENT_DATE()) AS weekDay;

类型转换

日期、字符串、时间戳互转转换请参考:MYSQL日期 字符串 时间戳互转

MySQL的CURRENT_DATE(),NOW(),DATE_FORMAT()函数的应用,类型转换及操作汇总的更多相关文章

  1. 【杂记】mysql 左右连接查询中的NULL的数据筛选问题,查询NULL设置默认值,DATE_FORMAT函数

    MySQL左右连接查询中的NULL的数据筛选问题 xpression 为 Null,则 IsNull 将返回 True:否则 IsNull 将返回 False. 如果 expression 由多个变量 ...

  2. MySQL DATE_FORMAT() 函数

    定义和用法 DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据. 语法 DATE_FORMAT(date,format) date 参数是合法的日期.format 规定日期/时间的输出 ...

  3. MySQL DATE_FORMAT函数使用

    DATE_FORMAT函数 一.定义和用法 DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据. 二.语法 DATE_FORMAT(date,format)date 参数是合法的日期. ...

  4. [转]MySQL DATE_FORMAT() 函数

    原文地址:http://www.w3school.com.cn/sql/func_date_format.asp 定义和用法 DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据. 语法 ...

  5. MYSQL DATE_FORMAT() 函数时间大小比较

    DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据. DATE_FORMAT(date,format) 可以使用的格式有: 格式 描述 %a 缩写星期名 %b 缩写月名 %c 月,数值 ...

  6. MySQL 获得当前日期时间\时间戳 函数 ( 转自传智播客)

    MySQL 获得当前日期时间 函数 1.1 获得当前日期+时间(date + time)函数:now() mysql> select now(); +-------+ | now() | +-- ...

  7. Mysql 中有关日期的函数(sql)

    DAYOFWEEK(date)返回日期date的星期索引(1=星期天,2=星期一, ……7=星期六).这些索引值对应于ODBC标准.mysql> select DAYOFWEEK('1998-0 ...

  8. 转MYSQL学习(三) 函数

    这一节主要介绍MYSQL里的函数,MYSQL里的函数很多,我这里主要介绍MYSQL里有而SQLSERVER没有的函数 数学函数 1.求余函数MOD(X,Y) MOD(X,Y)返回x被y除后的余数,MO ...

  9. mysql 中时间和日期函数应用

    一.MySQL 获得当前日期时间 函数 1.1 获得当前日期+时间(date + time)函数:now() mysql> select now(); +-------------------- ...

随机推荐

  1. Codeforces 432D Prefixes and Suffixes:KMP + dp

    题目链接:http://codeforces.com/problemset/problem/432/D 题意: 给你一个字符串s,让你找出所有既是前缀又是后缀的子串,并输出它们分别出现了多少次. 题解 ...

  2. AngularJs 相应回车事件

    最近做项目,要用到AngularJs,之前也有用过一点点,但仅限于数据的绑定,这次项目要整个前端需要使用这个框架,可能是不熟悉的原因,感觉这代码搞起来非常的不便利,:现总结一个响应回车事件: < ...

  3. MySQL中处理Null时要注意两大陷阱

    MySQL数据库是一个基于结构化数据的开源数据库.SQL语句是MySQL数据库中核心语言.不过在MySQL数据库中执行SQL语句,需要小心两个陷阱. 陷阱一:空值不一定为空 空值是一个比较特殊的字段. ...

  4. KbmMW-及相关

    KbmMW框架是收费的,不在此提供下载,如需购买,请自行联系作者Kim Madsen. 网址资源: 官网主页:http://www.components4programmers.com/product ...

  5. Java_数据交换_dom4j_01_解析xml

    1.说明 详细原理以后再研究,先将例子存着 2.代码 2.1 xml内容 <?xml version="1.0" encoding="UTF-8"?> ...

  6. 素数环:NYOJ--488--dfs||hdu-1016-Prime Ring Problem

    /* Name: NYOJ--488--素数环 Author: shen_渊 Date: 15/04/17 15:30 Description: DFS,素数打个表,37以内就够用了 */ #incl ...

  7. 菜单栏(QMenuBar)与菜单(QMenu)

    之前一直搞不清楚什么是菜单栏,后来看了文档才知道是怎么一回事,下面是我本人对菜单栏和菜单的理解,可能存在理解错误. 一.菜单栏 菜单栏是容纳菜单的一个容器,里面可以存放菜单列表,用菜单栏的目的就是为了 ...

  8. ACM学习历程—Hihocoder 1290 Demo Day(动态规划)

    http://hihocoder.com/problemset/problem/1290 这题是这次微软笔试的第三题,过的人比第一题少一点,这题一眼看过去就是动态规划,不过转移方程貌似不是很简单,调试 ...

  9. Error Domain=NSURLErrorDomain Code=-1202,Https服务器证书无效

    错误:“此服务器的证书无效.您可能正在连接到一个伪装成“www.xxxxxx.com”的服务器, 这会威胁到您的机密信息的安全 原因:安全证书是自建证书,没有得到认证. 解决方法: 1.导入NSURL ...

  10. js中eval详解

    先来说eval的用法,内容比较简单,熟悉的可以跳过   eval函数接收一个参数s,如果s不是字符串,则直接返回s.否则执行s语句.如果s语句执行结果是一个值,则返回此值,否则返回undefined. ...