Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 如何显示两个不同时间参数之间的所有时间_Sql Server_Sql Server 2008 - Fatal编程技术网

Sql server 如何显示两个不同时间参数之间的所有时间

Sql server 如何显示两个不同时间参数之间的所有时间,sql-server,sql-server-2008,Sql Server,Sql Server 2008,数据库时间参数00:15、开始时间09:00、结束时间15:00中有3列 现在我想显示09:00和15:00之间00:15分钟的所有时间间隔 我应该编写什么查询,以便它返回如下值: 09:00 - 09:15 09:15 - 09:30 09:30 - 09:45 - - - - 14:45 - 15:00 使用公共表表达式CTE生成包含所需时间的表 Declare @strtDt smallDatetime = '15 May 2013 09:00'; Declare @endDt smal

数据库时间参数00:15、开始时间09:00、结束时间15:00中有3列

现在我想显示09:00和15:00之间00:15分钟的所有时间间隔

我应该编写什么查询,以便它返回如下值:

09:00 - 09:15
09:15 - 09:30
09:30 - 09:45
-
-
-
-
14:45 - 15:00

使用公共表表达式CTE生成包含所需时间的表

Declare @strtDt smallDatetime = '15 May 2013 09:00';
Declare @endDt smallDateTime = '15 May 2013 15:00';
With DateTimes(dt) As
    (Select @strtDt
      Union All
     Select DateAdd(minute, 15, dt)
     From DateTimes
     Where dt < @endDt) 
Select dt from DateTimes 
option (maxrecursion 10000)  

使用公共表表达式CTE生成包含所需时间的表

Declare @strtDt smallDatetime = '15 May 2013 09:00';
Declare @endDt smallDateTime = '15 May 2013 15:00';
With DateTimes(dt) As
    (Select @strtDt
      Union All
     Select DateAdd(minute, 15, dt)
     From DateTimes
     Where dt < @endDt) 
Select dt from DateTimes 
option (maxrecursion 10000)  
使用CTE并假设@time的小时部分为零:

使用CTE并假设@time的小时部分为零:


您有一整张表,其中包含参数、开始时间和结束时间,对吗?或者您只需要为这一个示例提供一个解决方案吗?您有一个完整的表,其中包含参数、开始时间和结束时间,对吗?或者,对于这一个示例,您是否只需要一个解决方案?