小编Ada*_*mUK的帖子

列出2 DateTimes的可用时间

我知道这个可能会有点令人困惑,我只是想着考虑最好的方法来解决这个问题!我现在在几个论坛上发布了这个,但我似乎没有任何运气.希望有人可以就如何做到这一点提出一些建议.

示例表(tbl_Bookings)

ID  DateStarted       DateEnded         RoomID
1   16/07/2012 09:00  16/07/2012 10:00    1
2   16/07/2012 12:00  16/07/2012 13:00    1
Run Code Online (Sandbox Code Playgroud)

基本上,我想输入2个日期时间,例如16/07/2012 08:30和16/07/2012 13:30,它将查询我上面的示例表并返回'可用'时间,IE,我喜欢输出以下内容.

16/07/2012 08:30 - 16/07/2012 09:00
16/07/2012 10:00 - 16/07/2012 12:00
16/07/2012 13:00 - 16/07/2012 13:30
Run Code Online (Sandbox Code Playgroud)

我的问题是,这完全可以在SQL中使用吗?我试着想一想如何在VB中做到这一点,我也在努力解决这个问题.我的想法/尝试一直在使用Ron Savage的fn_daterange(如下所示)

if exists (select * from dbo.sysobjects where name = 'fn_daterange') drop function fn_daterange;
go
create function fn_daterange
(
@MinDate as datetime,
@MaxDate as datetime,
@intval  as datetime
)
returns table
as
return
WITH times (startdate, enddate, intervl) AS
(
SELECT @MinDate as …
Run Code Online (Sandbox Code Playgroud)

.net sql vb.net sql-server-2008

7
推荐指数
1
解决办法
150
查看次数

标签 统计

.net ×1

sql ×1

sql-server-2008 ×1

vb.net ×1