mysql获取当前时间+1天_mysql获取当前时间,前一天,后一天[通俗易懂]

mysql获取当前时间+1天_mysql获取当前时间,前一天,后一天[通俗易懂]负责的项目中,使用的是mysql数据库,页面上要显示当天所注册人数的数量,获取当前的年月日,我使用的是CURDATE(),错误的sql语句eg:SELECTCOUNT(*)FROMUSERWHEREregisterDate>=CURDATE()ANDregisterDate<CURDATE()+1;虽然获取到的数量在测试环境中是正确的,但在发布到线上的时候,发…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

负责的项目中,使用的是mysql数据库,页面上要显示当天所注册人数的数量,获取当前的年月日,我使用的是 CURDATE(),

错误的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()这个函数,用法举例:

今天是2016年08月01日。

date_sub(‘2016-08-01’,interval 1 day) 表示 2016-07-31

date_sub(‘2016-08-01’,interval 0 day) 表示 2016-08-01

date_sub(‘2016-08-01’,interval -1 day) 表示 2016-08-02

date_sub(curdate(),interval 1 day) 表示 2016-07-31

date_sub(curdate(),interval -1 day) 2016-08-02

date_sub(curdate(),interval 1 month) 表示 2016-07-01

date_sub(curdate(),interval -1 month) 表示 2016-09-01

date_sub(curdate(),interval 1 year) 表示 2015-08-01

date_sub(curdate(),interval -1 year) 表示 2017-08-01

备注:

SELECT NOW(),CURDATE(),CURTIME()

结果类似:

NOW()CURDATE()CURTIME()

2016-08-01 16:25:46

2016-08-01

16:25:46

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/185573.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Laravel 6 proc_open修复「建议收藏」

    Laravel 6 proc_open修复「建议收藏」Laravel 6 proc_open修复

    2022年4月24日
    47
  • customErrors与错误页面[通俗易懂]

    customErrors与错误页面[通俗易懂]本配置节相对简单而且常用mode的值有如下三种值说明On指定启用自定义错误。如果未指定 defaultRedirect,用户将看到一般性错误。Off指定禁用自定义错误。这允许显

    2022年7月3日
    40
  • linux RWX权限的解读

    linux RWX权限的解读Linux的权限不是很细致,只有RWX三种r(Read,读取):对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目录的权限。w(Write,写入):对文件而言,具有新增,修改,删除文件内容的权限;对目录来说,具有新建,删除,修改,移动目录内文件的权限。x(eXecute,执行):对文件而言,具有执行文件的权限;对目录了来说该用户具有进入目录的权限。1、目录的只读访问不允许使

    2022年6月12日
    42
  • cmd从c盘切换到d盘_cmd怎样切换到d盘

    cmd从c盘切换到d盘_cmd怎样切换到d盘1、按WIN+R键打开运行,输入cmd并回车;2、默认路径为用户文档路径,如果想要切换到C盘中的某个文件夹,比如AppData,可以执行命令cdAppData;3、但如果想切换到D盘,输入cd

    2022年8月2日
    17
  • K8S架构详解

    K8S架构详解

    2021年5月29日
    102
  • 转一篇难得的好文章-CPU流水线的探秘之旅

    转一篇难得的好文章-CPU流水线的探秘之旅作为程序员,CPU在我们的工作中扮演了核心角色,因此了解处理器内部的工作方式对程序员来说不无裨益。  CPU是如何工作的呢?一条指令执行需要多长时间?当我们讨论某个新款处理器拥有12级流水线还是18级流水线,甚至是更深的31级流水线时,这到些都意味着什么呢?  应用程序通常会将CPU看作是黑盒子。程序中的指令按照顺序依次进入CPU,执行完之后再按顺序依次从C

    2022年8月20日
    16

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号