1、首先打开SQLyogEnt软件,打开SQLyogEnt的Query窗口,之后的sql语句都会在这里执行。
2、书写sql:select now() 查询出当前的时间:2018-06-08 13:32:22;now函数为mysql的当前日期函数。
3、书写sql:select date_format(now(),'%Y-%m-%d')查询出的时间格式为:2018-06-08;%Y和%y的区别则是:前者查询出完整2018,后者则是查询简写的18。
4、书写sql:select curdate()查询出当前日期2018-06-08,不带时分秒。
5、书写sql:select curtime()查询出当前时间13:40:11,不带年月日。
6、最后书写sql:select dayofweek(now());查询出一个数字,代表着星期;星期的排列方式为:星期日:1;星期一:2;...以此类推。
SQL没办法得到当前的时间戳 除非你是用服务器脚本语言 追问: SELECT count(*) FROM `ip11` WHERE DATE_FORMAT(NOW(),'%H')-DATE_FORMAT(time_tip,'%H')=1 and TO_DAYS( NOW( ) ) - TO_DAYS(time_tip)=1可以的我写的这个就可以的,关键是我现在不知道怎么写循环的。我上面的这个句子可以实现查询每个小时内的记录条数,我不想写24个,用循环怎么写呢。 回答: SQL循环我不知道,只做过服务器脚本语言的 PS:DATE_FORMAT(NOW(),'%H')得到的是当前小时 比如11点20,用DATE_FORMAT(NOW(),'%H')得到的值是11,而不是你想要的12 追问: DATE_FORMAT(NOW(),'%H')-DATE_FORMAT(time_tip,'%H')=0 比如现在14:40,上面这句话可以得到14:00-14:40之间的记录数。 我现在就是不会写php的循环 回答: <?php for($i=0$i<=11$i++){ $sql = "SELECT count(*) FROM `ip11` WHERE DATE_FORMAT(NOW(),'%H')-DATE_FORMAT(time_tip,'%H')=".$i." and TO_DAYS( NOW( ) ) - TO_DAYS(time_tip)=1"echo $sql} ?>echo $sql只是测试 i=0就是当前小时的,i=1就是1小时前的,以此类推在DATEDIFF()函数中,仅将值的日期部分用于计算,因此我们可以使用TIMESTAMPDIFF()函数来计算两个指定日期之间的整整24小时。例如,如果我们想查找'2017-05-27 11:59:00'和2017-05-23 12:00:00'之间的整整24小时,则以下将是MySQL查询-
mysql>Select TIMESTAMPDIFF(DAY, '2017-05-23 12:00:00' , '2017-05-27 11:59:00')
+---------------------------------------------------------------------------+
| TIMESTAMPDIFF(DAY, '2017-05-23 12:00:00' , '2017-05-27 11:59:00') |
+---------------------------------------------------------------------------+
| 3 |
+---------------------------------------------------------------------------+
1 row in set (0.00 sec)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)