我的第一个问题是,我一直在通过手工创建日期来将日期添加到数据库中,这非常费力。我正在寻找一种自动添加日期的方法,就像在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')
我想知道一种方法,而不是手动复制粘贴每个日期,如果有一种方法可以将连续的日期一直添加到某个范围内。
示例: 11/22/01 05:30:20 。 。 。 。 11/30/01 05:30:20
我是SQL的新手,我不知道自己在做什么,但我愿意尝试所有建议
答案 0 :(得分:2)
如果我理解正确!
如果要获取(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