where datediff(day,'2004-4-10',RegDate)>=0 and datediff(day,RegDate,'2004-7-10')>=0

解决方案 »

  1.   

    --或者(注意日期的格式):
    convert(char(10),RegDate,120) between '2004-04-10' and '2004-07-10'
      

  2.   

    select DATEDIFF(day,2004-07-13,2004-7-5)
      

  3.   

    convert(char(10),RegDate,120) between '2004-04-10' and '2004-07-10'
      

  4.   

    '2004-4-10'<RegDate  and RegDate<'2004-7-10'
      

  5.   

    between '2004-04-10' and '2004-07-10'
      

  6.   

    这么多方法啊!厉害!可是我还是有几个问题不明白!太菜了,没办法!呵呵
    1,convert(char(10),RegDate,120)char(10)? 要是日期不是 '2004-04-10' 而是 '2004-4-10' 会不会有问题?? 2,between '2004-04-10' and '2004-07-10'这样是在两个之间的,包含等于'2004-04-10'和'2004-07-10'吗?
    如果不包含,那么怎么才能包含呢?3, Lwg0901(伤心人) 的方法:select DATEDIFF(day,2004-07-13,2004-7-5)
    可行吗????
      

  7.   

    日期进行比较时
    特别是convert成varchar时候
    最好转化成YYYY-MM-DD格式
    否则会有2004-2-1大于2004-12-1的情况发生转化方法如下:
    convert(varchar(10),日期字段,120)
    联机帮助里都有说明