如何查询时间段的记录

灬人来疯灬 2013-07-24 05:08:37
比如
查询出每天20点到21点之外的记录
...全文
140 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
灬人来疯灬 2013-07-26
  • 打赏
  • 举报
回复
引用 7 楼 DBA_Huangzj 的回复:
你这是T-SQL还是啥?表里的数据贴一点出来看看


Andy__Huang 2013-07-24
  • 打赏
  • 举报
回复
select * 
from tb
where convert(varchar(8),时间字段,108) not between '20:00:00' AND '21:00:00'
發糞塗牆 2013-07-24
  • 打赏
  • 举报
回复
你这是T-SQL还是啥?表里的数据贴一点出来看看
灬人来疯灬 2013-07-24
  • 打赏
  • 举报
回复
由于表里的时间是时间戳 我是这样写的,总感觉不是很好 SELECT * from tb_name where !((from_unixtime(time,'%H')>=20 and from_unixtime(time,'%H')<21 && from_unixtime(time,'%i')<30)||(from_unixtime(time,'%H')>=20 and from_unixtime(time,'%H')<21 && from_unixtime(time,'%i')=30 && from_unixtime(time,'%s')=00))
發糞塗牆 2013-07-24
  • 打赏
  • 举报
回复
引用 4 楼 lunatic27 的回复:
那如果是每天20点到20:30的记录
select * from tb where SUBSTRING(CONVERT(VARCHAR(30),列名,121),CHARINDEX(' ',CONVERT(VARCHAR(30),列名,121),1)+1,LEN(CONVERT(VARCHAR(30),列名,121))) BETWEEN '20:00:00.000' AND '20:30:00.000'
灬人来疯灬 2013-07-24
  • 打赏
  • 举报
回复
那如果是每天20点到20:30的记录
-Tracy-McGrady- 2013-07-24
  • 打赏
  • 举报
回复
这样就包含了所有20点以外的数据了
-Tracy-McGrady- 2013-07-24
  • 打赏
  • 举报
回复

select * from tb where datepart(hh,colname)<>20
-Tracy-McGrady- 2013-07-24
  • 打赏
  • 举报
回复
select * from tb where datepart(hh,colname)<>20

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧