mysql记录


一、更加灵活的TIMESTAMPDIFF



TIMESTAMPDIFF能干什么,可以计算相差天数、小时、分钟和秒,相比于datediff函数要灵活很多。格式是时间小的前,时间大的放在后面。




计算相差天数:


select TIMESTAMPDIFF(DAY,'2019-05-20', '2019-05-21'); # 1

1.

计算相差小时数:


select TIMESTAMPDIFF(HOUR, '2015-03-22 07:00:00', '2015-03-22 18:00:00'); # 11

1.

计算相差秒数:


select TIMESTAMPDIFF(SECOND, '2015-03-22 07:00:00', '2015-03-22 7:01:01'); # 61

1.

采用联结表的方式,条件是:1)与之前的日期相差为 1天,2)当天温度比之前一天的温度高


select w1.Id

from Weather as w1, Weather as w2

where TIMESTAMPDIFF(DAY, w2.RecordDate, w1.RecordDate) = 1 AND w1.Temperature > w2.Temperature

1.

2.

3.

二、存储过程注意事项

DELIMITER &&

CREATE PROCEDURE test123()

  BEGIN

    DECLARE id bigint;

    ...........

  END;

DELIMITER ;


需要注意的是DELIMITER &&和DELIMITER ;两句,DELIMITER是分割符的意思,因为MySQL默认以";“为分隔符,如果我们没有声明分割符,那么编译器会把存储过程当成SQL语句进行处理,则存储过程的编译过程会报错,所以要事先用DELIMITER关键字申明当前段分隔符,这样MySQL才会将”;"当做存储过程中的代码,不会执行这些代码,用完了之后要把分隔符还原。



评论 (0)

发表评论

上一篇: php实现socket 下一篇: 没有下一篇了