Sql server 在表中插入24小时格式的所有分钟的SQL查询

Sql server 在表中插入24小时格式的所有分钟的SQL查询,sql-server,Sql Server,我的数据库中有一个分钟表,我想将从00:00开始的24小时格式的所有分钟插入该表。我可以使用下面的查询来实现这一点,但我希望找到一个更快的查询来代替我提出的这个非常基本的查询 DECLARE @Start as Time(0) = CAST('00:00' as time) DECLARE @ctr int = 0; WHILE @ctr<>1440 BEGIN INSERT INTO Minutes(Minute) VALUES(@Start) SET @Start = DATEA

我的数据库中有一个分钟表,我想将从00:00开始的24小时格式的所有分钟插入该表。我可以使用下面的查询来实现这一点,但我希望找到一个更快的查询来代替我提出的这个非常基本的查询

DECLARE @Start as Time(0) = CAST('00:00' as time)
DECLARE @ctr int = 0;
WHILE @ctr<>1440
BEGIN
INSERT INTO Minutes(Minute) VALUES(@Start)
SET @Start = DATEADD(minute, 1, @Start)
SET @ctr = @ctr + 1
END
上述查询有时会导致脚本超时

这里是使用计数表的基于集合的方法,不需要任何循环或递归

这里是一种基于集合的方法,使用理货表,不需要任何循环或递归


您可以通过Excel生成以下简单字段:

INSERT INTO Minutes(Minute) VALUES(1)
INSERT INTO Minutes(Minute) VALUES(2)
INSERT INTO Minutes(Minute) VALUES(3)
.....
传递到A1:插入到分钟分钟值

传B1:1

传给C1

选择所有3列A1;B1;C1并左键单击C1的左下角,将其向下拖动至1440行。它将生成以下行:

INSERT INTO Minutes(Minute) VALUES(1)
INSERT INTO Minutes(Minute) VALUES(2)
INSERT INTO Minutes(Minute) VALUES(3)
.....
这条路足够快

更新

要使用单个查询执行此操作,您可以尝试以下操作:

INSERT INTO Minutes(Minute) VALUES(1)
INSERT INTO Minutes(Minute) VALUES(2)
INSERT INTO Minutes(Minute) VALUES(3)
.....

您可以通过Excel生成以下简单字段:

INSERT INTO Minutes(Minute) VALUES(1)
INSERT INTO Minutes(Minute) VALUES(2)
INSERT INTO Minutes(Minute) VALUES(3)
.....
传递到A1:插入到分钟分钟值

传B1:1

传给C1

选择所有3列A1;B1;C1并左键单击C1的左下角,将其向下拖动至1440行。它将生成以下行:

INSERT INTO Minutes(Minute) VALUES(1)
INSERT INTO Minutes(Minute) VALUES(2)
INSERT INTO Minutes(Minute) VALUES(3)
.....
这条路足够快

更新

要使用单个查询执行此操作,您可以尝试以下操作:

INSERT INTO Minutes(Minute) VALUES(1)
INSERT INTO Minutes(Minute) VALUES(2)
INSERT INTO Minutes(Minute) VALUES(3)
.....
试试这个,用一个新的

试试这个,用一个新的


如果你只需要做一次,为什么你需要更快的速度?但是,听着,TimSchmelter,我理解你的观点,但我有一个复杂的原因,我不想详细说明,只是为了证明问题的根源。这将使一个简单的问题复杂化。让我们假设我需要一个更快的查询,因为黑魔王看到我低效的sql技能会很生气。如果你只需要做一次,为什么你需要更快的查询?但是,听着,TimSchmelter,我理解你的观点,但我有一个复杂的原因,我不想详细说明,只是为了证明问题的根源。这将使一个简单的问题复杂化。让我们假设我需要一个更快的查询,因为黑魔王看到我低效的sql技能会很生气。哇,这在10毫秒内完成了任务,我最初的查询花了超过1分钟的时间执行。这就是我所说的高效sql查询。黑魔王现在会高兴的。非常感谢,伙计。@super user-很高兴它帮助了你哇,这在10毫秒内完成了任务,我最初的查询执行了超过1分钟。这就是我所说的高效sql查询。黑魔王现在会高兴的。非常感谢,伙计。@super user-很高兴它帮助了你我需要一个sql查询,但这很聪明,谢谢你+1@super-用户可以在SQL Server中插入逗号分隔的值,使用相同的方法更新我的答案,但只需一次查询。快乐编码!我需要一个sql查询,但这很聪明,谢谢+1@super-用户可以在SQL Server中插入逗号分隔的值,使用相同的方法更新我的答案,但只需一次查询。快乐编码!虽然下面的Prdp的答案是第一个被发布的答案,我选择这个答案,因为它在同一毫秒执行,但查询更短。黑魔王会死的amazed@super-用户-当您增加range@super-用户-这是一篇性能比较优秀的文章,尽管下面的Prdp答案是第一个发布的答案,我选择这个答案,因为它在同一毫秒执行,但查询更短。黑魔王会死的amazed@super-用户-当您增加range@super-用户-这是一篇关于性能比较的优秀文章