查询时间段 ?
时间:2011-12-13
来源:互联网
-- 表结构
tableA
id int
beginDate datetime
endDate datetime
type varchar(50)
-- 存储的数据
1 2011-05-01 2011-06-20 假期A
2 2011-08-20 2011-09-10 假期B
3 2011-09-25 2011-12-02 假期C
question,我想要某个月,某种类型的结果集. (比如假期A类型9月份的结果集,一天为一条记录),或者反过来,某个月内不包括某种假期类型的结果集,
现在的想法是app写一个for循环,按某个月的天数循环,这样太慢,请教如何通过sql 语句查询出来呢?
作者: chkmouse 发布时间: 2011-12-13
DECLARE @dt DATETIME SET @dt='2011-09-01' SELECT * FROM tableA WHERE endDate>@dt AND beginDate<DATEADD(m,1,@dt)-1
作者: roy_88 发布时间: 2011-12-13
SQL code
DECLARE @dt DATETIME
SET @dt='2011-09-01'
SELECT * FROM tableA WHERE endDate>@dt AND beginDate<DATEADD(m,1,@dt)-1
老兄 这样还是循环的查询的,一个月中有多少天就查询多少次,意义不大.
作者: chkmouse 发布时间: 2011-12-13
SELECT * FROM tableA WHERE endDate>=指定月的日期 or beginDate<=DATEADD(m,1,指定月的日期)
作者: Beirut 发布时间: 2011-12-13
引用 1 楼 roy_88 的回复:
SQL code
DECLARE @dt DATETIME
SET @dt='2011-09-01'
SELECT * FROM tableA WHERE endDate>@dt AND beginDate<DATEADD(m,1,@dt)-1
老兄 这样还是循环的查询的,一个月中有多少天就查询多少次,意义不大.

不是这样理解的。。。。。
作者: Beirut 发布时间: 2011-12-13
引用 1 楼 roy_88 的回复:
SQL code
DECLARE @dt DATETIME
SET @dt='2011-09-01'
SELECT * FROM tableA WHERE endDate>@dt AND beginDate<DATEADD(m,1,@dt)-1
老兄 这样还是循环的查询的,一个月中有多少天就查询多少次,意义不大.
樓主要搞清楚什麼是循環??
while //goto
作者: roy_88 发布时间: 2011-12-13
作者: fredrickhu 发布时间: 2011-12-13
作者: fredrickhu 发布时间: 2011-12-13
上次 我问的问题,根据第一个语句就可以得到结果了
作者: cedar_xu 发布时间: 2011-12-13
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28