【问题标题】:MYSQL: stored procedure date operationMYSQL:存储过程日期操作
【发布时间】:2012-08-01 05:48:31
【问题描述】:

我想在 mysql 中创建存储过程,我想在 BIGINT 中传递两个参数 startDate 和在 INT 中传递 noOfDays。因此,在该存储过程中创建 TEMPORARY 表并在其中插入日期。例如,如果我通过了 8 月 1 日。和 10 然后在 TEMPORARY 表中的记录应该是从 8 月 1 日到 8 月 10 日。请为此提出建议。

【问题讨论】:

  • 嘿试试存储过程。如果它适合你。

标签: mysql


【解决方案1】:

以下程序将为您执行此操作:

CREATE PROCEDURE sp_insert_date_data(arg_start_date DATE, arg_no_of_days INT unsigned)
BEGIN
    SET @var_date_cnt = 0;

    DROP TEMPORARY TABLE IF EXISTS tmp_date;
    CREATE TEMPORARY TABLE tmp_date;
    (
        dates DATE NOT NULL
    );

    WHILE(@var_date_cnt < arg_no_of_days)
    DO
        INSERT INTO tmp_date(dates)
        VALUES
        (DATE_ADD(arg_start_date, INTERVAL @var_date_cnt DAY));

        SET @var_date_cnt = @var_date_cnt + 1;
    END WHILE;

    SELECT * FROM tmp_date;
END;

【讨论】:

    猜你喜欢
    • 2015-07-14
    • 1970-01-01
    • 2014-07-27
    • 2017-04-22
    • 1970-01-01
    • 2020-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多