mysql - 将第一个日期插入当月结束日期的存储过程
问题描述
一段时间以来,我一直在尝试解决这个问题,并且在弄清楚从今天到月底插入剩余的日子方面取得了一些进展,但是我没有运气弄清楚如何制作以便@start_date 从当月的开始进行选择。存储过程如下:
BEGIN
SET @start_date = NOW();
SET @end_date = DATE_ADD(NOW(), INTERVAL 30 DAY);
WHILE(@start_date< @end_date) DO
INSERT INTO date (date) VALUES (@start_date);
SET @start_date = DATE_ADD(@start_date, INTERVAL 1 DAY);
END WHILE;
END
我希望得到一些解释,说明我需要替换 NOW() 值以使其动态检索当月的开始日期?当然,对日期进行硬编码是可行的,但由于此存储过程意味着每月例行公事,因此硬编码并不是最适用的场景。先感谢您!
解决方案
解决它!对于遇到相同问题或类似问题的任何人,这是我的解决方案。
BEGIN
SET @start_date = DATE_SUB(LAST_DAY(NOW()),INTERVAL DAY(LAST_DAY(NOW()))-1 DAY);
SET @end_date = DATE_FORMAT(CURDATE() + INTERVAL 1 MONTH,'%Y-%m-01');
WHILE(@start_date < @end_date) DO
INSERT INTO date (date) VALUES (@start_date);
SET @start_date = DATE_ADD(@start_date, INTERVAL 1 DAY);
END WHILE;
END
推荐阅读
- javascript - 获取事件回调函数中的最新道具
- c++ - 是否可以使用 cuda 内核内部的预训练张量流模型进行推理?
- javascript - 将具有多个小数位的长负数格式化为小数点后 3 位时,它显示为 0.00 而不是 -0.00
- sql-server - 更新兼容性级别 - Azure SSAS
- hazelcast-jet - 使用 Hazelcast-jet 将大型 Kafka 主题读入地图
- python - 为什么我的面部检测脚本突然停止工作?
- javascript - 如何在 Wordpress 后端插入简码
- node.js - 为什么猫鼬不更新?
- ionic-framework - NPM 的 IONIC 错误(不推荐使用的警告)
- sql - 如何使这个 Postgres 查询更快?