sql仅在工作日插入数据

阿明·奥利克

我有一个非常简单的表格,其结构如下所示:

id           int
info         varchar
user         varchar
start_date   datatime
end_date     datatime
resources_id int

我必须插入许多行(例如未来两年),这些行只有工作日的数据 - 字段中的数据只是一个简单的副本,但我不知道如何为这种特定工作日准备插入。有可能做到这一点吗?

我的示例转储文件如下所示:

id   info   user     start_date            end_date              resource_id
31   NULL   aorlik   2018-01-04 08:00:00   2018-01-04 10:00:00   1
32   NULL   aorlik   2018-01-04 15:00:00   2018-01-04 17:00:00   1
罗杰

干得好。

我创建了一个数据库函数来创建一整年的日期。您可以根据自己的意愿对其进行微调,但您应该明白这一点。

它基本上循环一年中的所有日子,如果这一天发生在 asatsun,它会跳过日期。您可以随心所欲地更改它。

为此,我创建了一个带有 2 个日期时间字段(start_date、end_date)的测试表。在函数内部,我截断了表格,仅用于测试目的。

DROP PROCEDURE IF EXISTS create_date_for_year;

DELIMITER //

CREATE PROCEDURE create_date_for_year (IN year INT)
BEGIN
    DECLARE day INT DEFAULT 1;

    SET day=1;

    TRUNCATE test; -- JUST FOR TESTING!

    WHILE day < 366 DO  
        IF WEEKDAY(MAKEDATE(year, day)) NOT IN (5,6) THEN -- skip sat and sun
            INSERT INTO TEST (start_date, end_date) VALUES ( 
                CONCAT(MAKEDATE(year, day), ' ', MAKETIME(8,0,0)),
                CONCAT(MAKEDATE(year, day), ' ', MAKETIME(10,0,0))
                );
        END IF;
        SET day = day + 1;
    END WHILE;
END;

//

CALL create_date_for_year(2018)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Google脚本仅在工作日触发

来自分类Dev

雪花:仅在工作日添加日期

来自分类Dev

Google脚本仅在工作日触发

来自分类Dev

工作日SQL查询

来自分类Dev

SQL工作日查询

来自分类Dev

按工作日排序数据

来自分类Dev

SQL仅返回工作日

来自分类Dev

SQL触发日期范围与工作日

来自分类Dev

SQL日期差异工作日

来自分类Dev

SQL仅返回工作日

来自分类Dev

SQL日期差异工作日

来自分类Dev

SQL Server DATEADD特定的工作日

来自分类Dev

工作日之间的周末 SQL

来自分类Dev

Laravel Scheduler:如何仅在工作日运行任务?

来自分类Dev

如何仅在x轴上显示工作日?

来自分类Dev

SQL Server:我需要在周末与工作日以不同的方式处理数据

来自分类Dev

NSArray与工作日

来自分类Dev

计算工作日

来自分类Dev

将工作日的数据透视到列中

来自分类Dev

在WEKA数据集中定义工作日和周末?

来自分类Dev

时效 - 日历和工作日不同的数据记录

来自分类Dev

获取过去 3 个工作日的数据

来自分类Dev

cron 表达式每小时运行一项工作,但仅在工作日?

来自分类Dev

SQL转换为工作日和hh:mm

来自分类Dev

从 Hive SQL 中的日期减去工作日

来自分类Dev

计算一个工作日的小时数,该工作日分为2天-Access SQL

来自分类Dev

仅在工作日和9-5之间刷新网页

来自分类Dev

仅在询问后显示下一个工作日

来自分类Dev

zf2验证程序-仅在日期为工作日时有效