none
时间段间隔查询 RRS feed

  • 问题

  • 这是sql的问题,但是我在论坛找不到sql专区,先发到这里啦
    我想进行这个样一个查询,从2013年4月1日到2013年4月20日位于每天的中午的数据。那么这个时间应该是这样的:
    2013-4-1 10:30:00 --- 2013-4-1 14:00:00
    2013-4-2 10:30:00 --- 2013-4-2 14:00:00
    2013-4-3 10:30:00 --- 2013-4-3 14:00:00
    2013-4-4 10:30:00 --- 2013-4-4 14:00:00
    2013-4-5 10:30:00 --- 2013-4-5 14:00:00
    2013-4-6 10:30:00 --- 2013-4-6 14:00:00
    2013-4-7 10:30:00 --- 2013-4-7 14:00:00
    2013-4-8 10:30:00 --- 2013-4-8 14:00:00
    2013-4-9 10:30:00 --- 2013-4-9 14:00:00
    2013-4-10 10:30:00 --- 2013-4-10 14:00:00
    2013-4-11 10:30:00 --- 2013-4-11 14:00:00
    2013-4-12 10:30:00 --- 2013-4-12 14:00:00
    2013-4-13 10:30:00 --- 2013-4-13 14:00:00
    2013-4-14 10:30:00 --- 2013-4-14 14:00:00
    2013-4-15 10:30:00 --- 2013-4-15 14:00:00
    2013-4-16 10:30:00 --- 2013-4-16 14:00:00
    2013-4-17 10:30:00 --- 2013-4-17 14:00:00
    2013-4-18 10:30:00 --- 2013-4-18 14:00:00
    2013-4-19 10:30:00 --- 2013-4-19 14:00:00
    2013-4-20 10:30:00 --- 2013-4-20 14:00:00
    那么这个sql应该怎么写呢?
    2013年4月20日 2:32

答案

  • select * from table_name where CreateDate between '2013-4-1' and '2013-4-20' and CreateDate between convert(datetime,convert(nvarchar(50),year(CreateDate))+'-'+CONVERT(nvarchar(50),month(CreateDate))+'-'+CONVERT(nvarchar(50),day(CreateDate))+' 10:30:00') and convert(datetime,convert(nvarchar(50),year(CreateDate))+'-'+CONVERT(nvarchar(50),month(CreateDate))+'-'+CONVERT(nvarchar(50),day(CreateDate))+' 14:00:00')

    已经写好了,解决我的问题了
    2013年4月22日 9:05

全部回复

  • 你可以发到这里:http://social.msdn.microsoft.com/Forums/zh-CN/sqlserverzhchs/threads(如果纯SQL)。

    当然如果你要确认用ADO.NET技术完成,那保留这个帖子。否则拷贝你帖子内容,黏贴到新的地方,删除该帖子即可。谢谢!

    另外我没有理解你的意思——你到底想说啥?查询啥呢?什么叫“每天位于中午的时间数据”?


    If you think one reply solves your problem, please mark it as An Answer, if you think someone's reply helps you, please mark it as a Proposed Answer

    Help by clicking:
    Click here to donate your rice to the poor
    Click to Donate
    Click to feed Dogs & Cats

    2013年4月20日 11:49
  • select * from table_name where CreateDate between '2013-4-1' and '2013-4-20' and CreateDate between convert(datetime,convert(nvarchar(50),year(CreateDate))+'-'+CONVERT(nvarchar(50),month(CreateDate))+'-'+CONVERT(nvarchar(50),day(CreateDate))+' 10:30:00') and convert(datetime,convert(nvarchar(50),year(CreateDate))+'-'+CONVERT(nvarchar(50),month(CreateDate))+'-'+CONVERT(nvarchar(50),day(CreateDate))+' 14:00:00')

    已经写好了,解决我的问题了
    2013年4月22日 9:05