I have start date, end date and name of days. How can fetch all dates between those two dates of that specific days in sql?
example data:
- start_date:4/11/2018
- end_date: 5/11/2018
- days: monday, thursday
expected output: all dates between start and end date which comes on monday and thursday and store them in table
updated my present code(not working)
; WITH CTE(dt)
AS
(
SELECT @P_FROM_DATE
UNION ALL
SELECT DATEADD(dw, 1, dt) FROM CTE
WHERE dt < @P_TO_DATE
)
INSERT INTO Table_name
(
ID
,DATE_TIME
,STATUS
,CREATED_DATE
,CREATED_BY
)
SELECT @P_ID
,(SELECT dt FROM CTE WHERE DATENAME(dw, dt) In ('tuesday','friday',null))
,'NOT SENT'
,CAST(GETDATE() AS DATE)
,@USER_ID