3. 获取当前短时间。获取当前短时间的方法有很多种。这里只介绍常用的:
3.1 使用()获取(推荐)
select CURTIME();
输出:
10:51:42
3.2 使用获取
select CURRENT_TIME;
输出:
10:52:26
4.函数now()和()的区别。虽然两者都可以获取当前时间,但是它们的获取机制不同:
now() 获取语句开始执行的时间
()取动态实时时间
你不明白吗?我们先看下面的例子:
说明:先查询NOW()和(),再查询秒,再查询NOW()和()
分析结果显示now()值没有变化,()时间在几秒后发生变化。也就是说now()获取的是SQL开始执行的时间。即使中间发生其他操作,其价值也不会受到影响。且()会影响。
补充:mysql获取当前时间+1天可以得到当前时间、前一天、后一天。错误的SQL语句
eg:SELECT COUNT(*) FROM USER WHERE registerDate >= CURDATE() AND registerDate < CURDATE()+1;
虽然在测试环境中获取的数量是正确的,但是当发布到网上时,发现有时无法查询到数据,数量为0。因此,在线查询是否()+1不规范。我发现mysql官网不识别时间的直接加减。虽然它转换的是当前时间,但此时,它是在比较这串字符。 mysql官网不认可使用这种方法来比较时间大小,所以:
正确的sql语句
eg:SELECT COUNT(*) FROM USER WHERE registerDate >= CURDATE() AND registerDate < DATE_SUB(CURDATE(),INTERVAL -1 DAY);
这时候就用到了()函数。用法示例:
今天是 2016 年 8 月 1 日。
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
评论:
现在(),(),()
结果相似:
现在()()()
扫一扫在手机端查看
-
Tags : MySQL获取当前时间的多种方式总结
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。