Mysql时间参数 问题

CREATE PROCEDURE sp_update (IN dayDate DATE) 
BEGIN

SELECT
    DATE_SUB(DATE(@daydate), INTERVAL 1 DAY),DATE_ADD(DATE(@daydate), INTERVAL 1 DAY);

END

mysql 存储过程不熟,哪位能帮助看下

阅读 7.1k
1 个回答

CREATE PROCEDURE sp_update (IN dayDate DATE)
存储过程创建,语法是CREATE PROCEDURE([[IN |OUT |INOUT ] 参数名 数据类形...])

  • IN ,输入参数,表示该参数的值必须在调用存储过程时指定,在存储过程中修改该参数的值不能被返回,为默认值

  • OUT输出参数,该值可在存储过程内部被改变,并可返回

  • INOUT 输入输出参数:调用时指定,并且可被改变和返回

所以这个意思是,创建一个存储过程名为sp_update,输入参数,DATE类型。

一个存储过程是以BEGIN,END作为开始、结束标志的。

SELECT
    DATE_SUB(DATE(@daydate), INTERVAL 1 DAY),DATE_ADD(DATE(@daydate), INTERVAL 1 DAY);

这其中有两个date函数
DATE_SUB(),函数从日期减去指定的时间间隔。

  • DATE_SUB(date,INTERVAL expr type)

  • date 参数是合法的日期表达式。expr 参数是您希望添加的时间间隔。

DATE_ADD,函数向日期添加指定的时间间隔,用法同上。

所以这里的意思是,dayDate减去一天,又加上一天。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题