【发布时间】:2015-07-09 12:14:46
【问题描述】:
我有一个包含多行的表格,其中详细说明了特定地点在不同日期的营业时间。给定一个特定的日期时间,我如何编写一个函数来找出在该时间开放的位置的名称和地址?
注意:行中的时间之间没有重叠,因此任何给定时间只能有一个位置。
CREATE TABLE [dbo].[tbl_biz_locations](
[placeid] [int]
[placename] [nvarchar](20) NULL,
[place_street] [nvarchar](30) NULL,
[place_city] [nvarchar](30) NULL,
[sunfrom] [time](7) NULL,
[sunto] [time](7) NULL,
[monfrom] [time](7) NULL,
[monto] [time](7) NULL,
[tuefrom] [time](7) NULL,
[tueto] [time](7) NULL,
[wedfrom] [time](7) NULL,
[wedto] [time](7) NULL,
[thufrom] [time](7) NULL,
[thuto] [time](7) NULL,
[frifrom] [time](7) NULL,
[frito] [time](7) NULL,
[satfrom] [time](7) NULL,
[satto] [time](7) NULL,
CONSTRAINT [PK_tbl_places] PRIMARY KEY CLUSTERED
(
[placeid] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
【问题讨论】:
-
是的。另外我忘了提到行中的时间之间没有重叠,因此任何给定时间只能有一个位置
标签: sql sql-server tsql date-range