我的第一个问题是,我一直通过手动创建日期将日期添加到数据库中,这是劳动密集型的。我正在寻找一种自动添加日期的方法,就像在 Excel 中一样。
我正在使用 3 列。
Date (YYYY-MM-DD HH:mm:ss)
TenantID (Name)
Count (Count of tenant ID)
这是我目前用来将日期添加到数据库中的方法。
INSERT INTO [dbo].[acms_data]
([Time]
,[TenantId]
,[CallingService]
,[PolicyList]
,[PolicyInstanceList])
VALUES
('2019-11-22 00:00:00'
,'4754F795-2FB9-4647-B28F-2CF2412F0BA2'
,'s1'
,'p1,p2,p3,p4'
,'pi1,pi2,pi3,pi4')
我想知道一种方法,而不是手动复制粘贴每个日期,如果有一种方法可以将连续日期一直添加到某个范围。
示例: 2001 年 11 月 22 日 05:30:20 。 。 。 。 2001 年 11 月 30 日 05:30:20
我是 SQL 新手,我不知道自己在做什么,但我愿意尝试所有建议
最佳答案
如果我理解正确的话!
如果您想获取 rage (N)
之间的具体日期,则可以使用以下查询。
DECLARE @TEST DATE
SET @TEST = '2019-11-22' -- your date
DECLARE @NoOfDay INT = 9 -- No of days you want
;WITH N(N)
AS
(
SELECT 1
FROM (VALUES(1),(1),(1),(1),(1),(1)) M(N)
), demo(N) AS (SELECT ROW_NUMBER()OVER(ORDER BY N.N)FROM N,N a)
SELECT TOP(day(EOMONTH(@TEST)))
N day, dateadd(d,N-1, @TEST) date
FROM demo
WHERE N <= @NoOfDay
输出:
day date
1 2019-11-22
2 2019-11-23
3 2019-11-24
4 2019-11-25
5 2019-11-26
6 2019-11-27
7 2019-11-28
8 2019-11-29
9 2019-11-30
关于sql - 有没有办法在SQL中自动填充日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56730447/