您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

将存储过程参数用作DATE_SUB的单位参数

将存储过程参数用作DATE_SUB的单位参数

无论有没有预备语句,在存储过程中都无法执行您要执行的操作。

您可以执行类似的操作:

DELIMITER $$

DROP PROCEDURE IF EXISTS test_proc $$
CREATE PROCEDURE  test_proc(param1 varchar(20))
BEGIN

  CASE UPPER(param1)
    WHEN 'MICROSECOND' THEN select DATE_SUB(Now(), INTERVAL 1 MICROSECOND); 
    WHEN 'SECOND' THEN select DATE_SUB(Now(), INTERVAL 1 SECOND);
    WHEN 'MINUTE' THEN select DATE_SUB(Now(), INTERVAL 1 MINUTE);
    WHEN 'HOUR' THEN select DATE_SUB(Now(), INTERVAL 1 HOUR);
    WHEN 'DAY' THEN select DATE_SUB(Now(), INTERVAL 1 DAY);
    WHEN 'WEEK' THEN select DATE_SUB(Now(), INTERVAL 1 WEEK);
    WHEN 'MONTH' THEN select DATE_SUB(Now(), INTERVAL 1 MONTH);
    WHEN 'QUARTER' THEN select DATE_SUB(Now(), INTERVAL 1 QUARTER);
    WHEN 'YEAR' THEN select DATE_SUB(Now(), INTERVAL 1 YEAR);
    ELSE select 'UNEXPECTED UNIT';
  END CASE;

END $$

DELIMITER ;
其他 2022/1/1 18:32:41 有504人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶