'Insert date and time in SQL
i want to generate and insert date with time to table but dont quite know how. I need to insert date for every day to three years ahead with time
01.01.2023 07:00 01.01.2023 08:00 01.01.2023 09:00 02.01.2023 07:00 02.01.2023 08:00 02.01.2023 09:00 03.01.2023 07:00 and so on
Solution 1:[1]
Recursive approach:
DECLARE
@StartDate DATE,
@EndDate DATE
SELECT
@StartDate = '2023-01-01',
@EndDate = DATEADD(YEAR, 3, @StartDate);
WITH DatesCTE(RecDate) AS (
SELECT @StartDate
UNION ALL
SELECT DATEADD(DAY, 1, RecDate) FROM DatesCTE WHERE RecDate < @EndDate
)
SELECT CAST(RecDate AS VARCHAR(10)) + ' 07:00' AS dt FROM DatesCTE
UNION ALL
SELECT CAST(RecDate AS VARCHAR(10)) + ' 08:00' AS dt FROM DatesCTE
UNION ALL
SELECT CAST(RecDate AS VARCHAR(10)) + ' 09:00' AS dt FROM DatesCTE
ORDER BY dt ASC
OPTION (MAXRECURSION 0)
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | L0ndl3m |
