作者alen332l
看板Database
标题[SQL ] 请教MSSQL datetime只取出时间做筛选
时间Thu Jul 29 17:11:59 2010
请问datetime如果使用他的时间做筛选??
例如 10 笔资料:
name(char) timeT(datetime)
____ ________
‧A 20100314 10:04:23
‧B 20100314 10:24:25
‧C 20100514 9:08:26
‧D 20100304 18:33:23
‧E 20100314 7:09:22
‧F 20100317 6:04:00
‧G 20100214 7:33:23
‧H 20100318 7:04:23
‧I 20100304 8:32:21
‧J 20100424 20:54:11
我想要所有 3 月 1日到3月31日的 所有早上7:00~10:00的资料
目前想到的方法比较麻烦:
SELECT *
FROM 资料库
where
(timeT between '2010-03-01 07:00:00' and '2010-03-01 10:00:00')
(timeT between '2010-03-02 07:00:00' and '2010-03-02 10:00:00')
(timeT between '2010-03-03 07:00:00' and '2010-03-03 10:00:00')
(timeT between '2010-03-04 07:00:00' and '2010-03-04 10:00:00')
(timeT between '2010-03-05 07:00:00' and '2010-03-05 10:00:00')
(timeT between '2010-03-06 07:00:00' and '2010-03-06 10:00:00')
.
.
.
.
.
.
(timeT between '2010-03-30 07:00:00' and '2010-03-30 10:00:00')
(timeT between '2010-03-31 07:00:00' and '2010-03-31 10:00:00')
感觉这样写非常没有效率...
请问有没有别的较厉害的方法? 感谢m(.__.)m
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.4.198
※ 编辑: alen332l 来自: 140.112.4.198 (07/29 17:12)
※ 编辑: alen332l 来自: 140.112.4.198 (07/29 17:12)
1F:推 rushcat:用DATEPART分别取时、分判断 07/29 18:46
2F:推 PsMonkey:日期函数好好找一定有吧 Zzzz 07/29 20:41
3F:推 tw70126:日期跟时间拆开来....一个 and 就够了 07/29 21:00