select now()-- 2017-05-16 16:48:02
select curdate()  -- 2017-05-16

select curdate() + 1 -- 20170517

select curtime() -- 16:48:21

select date_sub(CURDATE(),interval + 1 DAY) -- 2017-05-15
select date_sub(CURDATE(),interval 0 DAY) -- 2017-05-16
select date_sub(CURDATE(),interval + 1 DAY) -- 2017-05-17

select date_sub(curdate(),interval 1 month) -- 2017-04-16
select date_sub(curdate(),interval -1 month) -- 2017-06-16
select date_sub(curdate(),interval 1 year) -- 2016-05-16
select date_sub(curdate(),interval -1 year) -- 2018-05-16

例子:

错误的sql语句

  eg:SELECT COUNT(*) FROM USER WHERE registerDate >= CURDATE() AND registerDate < CURDATE()+1;

  虽然 获取到的数量在测试环境中是正确的,但在发布到线上的时候,发现有的时候数据是查询不到,数量为0,因此,就上网查询是不是CURDATE()+1不规范,发现mysql官网也是不承认时间直接相加减的,虽然会将当前时间转换为20160802,这时候就是比较这一串字符,mysql官网是不承认用这种方式比较时间大小的,因此:

正确的sql语句

  eg:SELECT COUNT(*) FROM USER WHERE registerDate >= CURDATE() AND registerDate < DATE_SUB(CURDATE(),INTERVAL -1 DAY);
此时,就用到了DATE_SUB()这个函数,用法举例:

【msyql_获取时间的前后几天函数date_sub】的更多相关文章

  1. JS代码获取当前日期时支持IE,不兼容FF和chrome,解决这个问题,我们需要把获取时间的getYear()函数换成getFullYear()

    以前在页面中获得当前时间的方法如下: function SelectTodayClient() { var d = new Date(); var taday = d.getYear() + &quo ...

  2. 获取时间SQL函数语句

    1.获取时间 获取当天的数据 where  DATEDIFF (DD, 数据库中时间的字段 ,GETDATE())=0 查询24小时内的 where  DATEDIFF (HH, 数据库中时间的字段 ...

  3. Perl 获取时间函数

    Perl 时间日期 Perl中处理时间的函数有如下几种:    1.time() 函数:返回从1970年1月1日起累计的秒数    2.localtime() 函数:获取本地时区时间(多用这个)    ...

  4. C#获取时间的函数

    //获取日期+时间DateTime.Now.ToString();            // 2012-9-4 20:02:10DateTime.Now.ToLocalTime().ToString ...

  5. PHP获取时间、时间戳的各种格式

    1.获取当前时间方法date() 很简单,这就是获取时间的方法,格式为:date($format, $timestamp),format为格式.timestamp为时间戳--可填参数. 2.获取时间戳 ...

  6. 使用PHP获取时间今天 明天 昨天 时间戳的详解

    使用php获取时间今天明天昨天时间戳 2013-06-20 11:12 <?php echo "今天:".date("Y-m-d")."< ...

  7. (基础篇)PHP获取时间、时间戳的各种格式写法汇总

    1.获取当前时间方法date() 很简单,这就是获取时间的方法,格式为:date($format, $timestamp),format为格式.timestamp为时间戳–可填参数. 2.获取时间戳方 ...

  8. 【转载】c/c++在windows下获取时间和计算时间差的几种方法总结

    一.标准C和C++都可用 1.获取时间用time_t time( time_t * timer ),计算时间差使用double difftime( time_t timer1, time_t time ...

  9. js(jQuery)获取时间的方法及常用时间类搜集

    获取时间的方法及常用时间类都是大家经常使用的,在本文为大家整理了一些,个人感觉还比较全,感兴趣的朋友可以收集下   复制代码代码如下: $(function(){ var mydate = new D ...

随机推荐

  1. Idea 添加完项目以后自动生成的web.xml报错 'org.springframework.web.servlet.DispatcherServlet' is not assignable to 'javax.servlet.Servlet

    解决方法:Project Structure - Modules - 你的项目  - Dependencies 添加Tomcat library

  2. Nexus4_识别电池真假

    1.参考网址:http://bbs.gfan.com/android-7509786-1-1.html ([6_25更新]给N4换一个“原装的芯”&[免拆]识别真假电池 - LG Nexus ...

  3. idea中java异常

    1. Compilation failed: internal java compiler error 解决方案:File-->Setting...-->Build,Execution,D ...

  4. Linux-tcpdump command

    简介 用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具. tcpdump可以将网络中传送的数据包的 ...

  5. IO - 同步,异步,阻塞,非阻塞 (转帖:http://blog.csdn.net/historyasamirror/article/details/5778378)

    同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) IO和非阻塞(non-blocking)IO分别是什么,到底有什么区别?这个问题其实不同的人给出 ...

  6. OpenCv-Python 图像滤波

    均值滤波 均值滤波函数cv2.blur() import cv2 img = cv2.imread('01.jpg') blur = cv2.blur(img,(5,5)) cv2.imshow( ...

  7. 如果你使用WebView+FloatingActionButton

    在WebView中想要使用FAB,如果你想向上滑动的时候隐藏FAB,那么需要再WebView外面套一个ScrollView! 原因之前也分析过,和为什么ListView不能让ToolBar.Tab隐藏 ...

  8. iOS中的日历

    iOS自带三种日历,公历.佛教日历和日本日历,要设置日历可以进入"设置-通用-语言与地区-日历"设置,我们中国使用的iPhone默认设置成公历.而泰国人使用的iPhone默认设置的 ...

  9. 记一次肉机事件--yam

    背景: 研发同事反应他自己的测试机器,有一个yum程序占用cpu很多,接近100%,然后他就将这个程序kill了.我一看他给我发的截图,原来不是“yum”,而是“yam”,第一反应就是让人当肉机了.上 ...

  10. MySQL函数不能创建的解决方法(转)

    在使用MySQL数据库时,有时会遇到MySQL函数不能创建的情况.下面就教您一个解决MySQL函数不能创建问题的方法,供您借鉴参考. 出错信息大致类似: ERROR 1418 (HY000): Thi ...