在SQL中插入日期和时间



我想生成带时间的日期并插入到表中,但不太知道如何生成。我需要插入前三年每天的日期

2003年1月1日07:002003年1月1日08:002003年1月1日09:002023年1月2日07:002023年1月2日08:002023年1月2日09:0003.01.2023 07:00等

递归方法:

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)

相关内容

  • 没有找到相关文章

最新更新