问题1:
我在查询分析器里面select * from test where datediff(d,2006-12-12,2006-12-1)>=0

select * from test where datediff(d,2006-11-12,2006-12-1)>=0运行后显示一样的结果!
??问题2:
我的test表里面有两个字段,开始时间,和结束时间,
给定一个时间tempdate
如果tempdate在这个 开始时间,和结束时间,之内就取记录?Select * from test Where (DateDiff(d,Kshijian,2006-11-1)<=0 and DateDiff(d,Eshijian,2006-11-1)>=0) 我这样写总是取不到记录.(ps:不要怀疑我的数据!)

解决方案 »

  1.   

    问题1:
    我在查询分析器里面select * from test where datediff(d,2006-12-12,2006-12-1)>=0

    select * from test where datediff(d,2006-11-12,2006-12-1)>=0运行后显示一样的结果!
    ----------------------
    datediff的后面两个参数类型必须是datetime 或 smalldatetime 型或日期格式字符串
    楼主的写法不对,改成如下即可:
    select * from test where datediff(d,'2006-12-12','2006-12-1')>=0

    select * from test where datediff(d,'2006-11-12','2006-12-1')>=0
      

  2.   

    同样的问题,参数类型不对并且关系运算符也不对,应该是大于等于开始时间,且小于等于结束时间:
    Select * from test Where (DateDiff(d,Kshijian,'2006-11-1')>=0 and DateDiff(d,Eshijian,'2006-11-1')<=0)
      

  3.   

    问题1:select * from test where datediff(d,2006-12-12,2006-12-1)>=0

    select * from test where datediff(d,2006-11-12,2006-12-1)>=0datediff(d,2006-12-12,2006-12-1)是在年月日的日上求差,以上两条都相当于1-12,都不满足>=0。
    问题二:
    可以尝试诸如这样
    select * from 时间维度1 where the_date between '2006-01-01' and '2006-03-01'