内容简介

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. Hibernate学习---第十一节:Hibernate之数据抓取策略&批量抓取

    1.hibernate 也可以通过标准的 SQL 进行查询 (1).将SQL查询写在 java 代码中 /** * 查询所有 */ @Test public void testQuery(){ // ...

  2. 用React写一个工大导航

    Online: https://brenner8023.github.io/gdut-nav/ GitHub地址: https://github.com/brenner8023/gdut-nav 笔者 ...

  3. 省选/NOI刷题Day2

    bzoj2616 放一个车的时候相当于剪掉棋盘的一行,于是就可以转移了,中间状态转移dp套dp,推一下即可 bzoj2878 环套树期望dp 手推一下递推式即可 bzoj3295 树状数组套权值线段树 ...

  4. luogu2622开灯问题2

    #include<iostream> #include<cstdlib> #include<algorithm> #include<cstdio> #i ...

  5. linux vsftpd 服务配置

    vsftpd.conf配置如下: # Example config file /etc/vsftpd/vsftpd.conf # # The default compiled in settings ...

  6. 1014 Waiting in Line (30)(30 分)

    Suppose a bank has N windows open for service. There is a yellow line in front of the windows which ...

  7. LOJ2305 「NOI2017」游戏

    「NOI2017」游戏 题目背景 狂野飙车是小 L 最喜欢的游戏.与其他业余玩家不同的是,小 L 在玩游戏之余,还精于研究游戏的设计,因此他有着与众不同的游戏策略. 题目描述 小 L 计划进行$n$场 ...

  8. bzoj 3779: 重组病毒 LCT+线段树+倍增

    题目: 黑客们通过对已有的病毒反编译,将许多不同的病毒重组,并重新编译出了新型的重组病毒.这种病毒的繁殖和变异能力极强.为了阻止这种病毒传播,某安全机构策划了一次实验,来研究这种病毒. 实验在一个封闭 ...

  9. python日志轮转RotatingFileHandler在django中的一个bug

    简介 大量过时的日志会占用硬盘空间,甚至长时间运行不注意会占满硬盘导致宕机,那么就可以使用内建logging模块根据文件大小(logging.handlers.RotatingFileHandler) ...

  10. 一:ORM关系对象映射(Object Relational Mapping,简称ORM)

    狼来的日子里! 奋发博取 10)django-ORM(创建,字段类型,字段参数) 一:ORM关系对象映射(Object Relational Mapping,简称ORM) ORM分两种: DB fir ...