用SQL语句查询特定时间段的数据

日期: 2008-07-01 作者:Rudy Limeback 来源:TechTarget中国 英文

问:在我的表中有一个字段存储的是datetime格式的日期和时间。我想获得7月1号到7月31号之间晚上10点到早上6点的数据。获得这样的数据的最好方法是什么?   答:这是少数采用单独的日期和时间比较好的情况之一。  select columns    from table   where datecol between ’2007-07-01’ and ’2007-07-31’   and (   timecol >= ’22:00’   or t……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

问:在我的表中有一个字段存储的是datetime格式的日期和时间。我想获得7月1号到7月31号之间晚上10点到早上6点的数据。获得这样的数据的最好方法是什么?


  答:这是少数采用单独的日期和时间比较好的情况之一。 


select columns 
  from table
  where datecol between ’2007-07-01’ and ’2007-07-31’
  and (
  timecol >= ’22:00’
  or timecol <= ’06:00’
  )

  然而对于DATETIME列,有一个小技巧。我们需要“提取”DATETIME值的时间部分。这个查询如下所示: 


select columns 
  from table
  where datetimecol >= ’2007-07-01’
  and datetimecol < ’2007-08-01’
  and (
  extract(hour from datetimecol) >= 22
  or extract(hour_minute from datetimecol) <= ’06:00’
  )

  准确的语法是取决于你所使用的数据库系统。注意日期的范围测试是怎么使用一个未限制的间隔的。

相关推荐