想要根据给定日期和给定的工作日查找工作日期

时间:2018-04-06 08:47:08

标签: mysql mysql-workbench

我在MS SQL中有如下语法: -

select DATEADD(WK, datediff(WK, **1**,'**2018-04-4**'), **1**);

这里我的approch是我通过startdate即(' 2018-04-4' )和工作日,即 1 基于此公式它是根据工作日给我当前的日期

2018-04-03 00:00:00.000

if i am passing **6** result is 2018-04-01 00:00:00.000 
if i am passing **0** result is 2018-04-02 00:00:00.000  
if i am passing **1** result is 2018-04-03 00:00:00.000  
if i am passing **2** result is 2018-04-04 00:00:00.000 
if i am passing **3** result is 2018-04-05 00:00:00.000 
if i am passing **4** result is 2018-04-06 00:00:00.000 
if i am passing **5** result is 2018-04-07 00:00:00.000 

现在我的困难是我需要在MySQL中迁移它,并且它不能在那里工作。

请建议任何获得上述结果的解决方案。

1 个答案:

答案 0 :(得分:0)

你可以使用date_Add和date_sub。

这将为您提供您传递的那一周的第一天,

SELECT DATE_SUB('2018-04-04',INTERVAL WEEKDAY('2018-04-04') DAY);

将其与日期添加相结合,您可以使用工作日生成日期

select date_add(date_sub('2018-04-04', interval weekday('2018-04-04') day), interval 3 day);

enter image description here