作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个名为 Periods 的表,看起来像这样
周期ID | 期间年份 | PeriodQuarter
7 | 2009 | 1
8 | 2009 | 2
9 | 2009 | 3
10 | 2009 | 4
11 | 2010 | 1
12 | 2010 | 2
表中的每一行代表一年中 4 个季度中的一个(例如 3 个月的学期)。例如。第一行代表 2009 年第 1 期(即日期范围 2009 年 1 月 1 日至 2009 年 3 月 31 日。
现在我需要编写一个查询,从上表中选择行/时间段,其中时间段出现在 2 个日期范围之间,按照以下伪代码。
select *
from Periods
where Period is between @startDate and @endDate
查询将在名为 dbo.GetPeriodsFromDateRange 的表值函数中使用,@startDate 和@endDate 是该函数的参数。
我卡住了,不知道该怎么做。请帮忙。这适用于 T-SQL (MS SQL Server 2000/2005)
最佳答案
尝试
select *
from Periods
where dateadd(qq,PeriodQuarter-1,dateadd(yy,PeriodYear -1900,0))
between @startDate and @endDate
关于sql-server - 需要有关 SQL 查询的帮助,从周期表中选择日期范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3193886/
我是一名优秀的程序员,十分优秀!