我使用SQL2000,其中一个字段为'日期'是DATETIME类型.现在需要对其进行条件查询
SELECT * FROM 表 where 日期>= ?? and 日期<=??//比如是现在时间now,这里的查询条件应该怎么写?

解决方案 »

  1.   

    query里面写:SELECT * FROM 表 where 日期>=:pquery1.paramebyname('p').asdatetime:=nowquery1.colse;
    query1.open;
      

  2.   

    select * from 表 where sale_date <= getdate()
      

  3.   

    getdate 是什么啊?
    比如要选择表里日期大于2004-11-05的记录,应该怎么写啊?
    SELECT * FROM 表 where 日期>= '2004-11-05'肯定不行啊
      

  4.   

    select * from table where sale_date between '2004-1-1' and '2004-2-1'
      

  5.   

    getdate()是sqlserver中的函數,意為取得當前日期.....
      

  6.   

    可以使用
    select * from table where datediff(day,sale_date,getdate())
      

  7.   

    SELECT * FROM 表 where 日期>= '2004-11-05'肯定不行啊
    不会吧,这样的语句不可能不行地,这样的语句我写过无数遍,不可能,肯定行地。
      

  8.   

    select * from table where datefield >=''' + datetostr(date) + ''' and datefield < 
    dateadd(day,1,'''+ datetostr(date) + ''')'取当天!!
      

  9.   

    SELECT * FROM 表 where 日期>= :A
    query.parambyname('A').asdate:=datepicker.datetime
      

  10.   

    我是要自己指定查询时间啊.GETDATE没有用
    select * from table where sale_date between '2004-1-1' and '2004-2-1'不行啊.
    因为日期格式不一定就是'2004-1-1' 啊.也可能是2004.1.1或者2004年1月1日啊.
      

  11.   

    我用
    ado.sql.add('select * from table where datefield >='+datetostr(一个Tdate型))
    可搜索出来的结果还是不符合要求啊
      

  12.   

    你的数据库内的这个日期字段设定的是字符型的吗?要是datetime类型的,不会有汉字在日期字段里的。
    如果是datetime类型的话,即使显示是2004.1.1,也可以这样查的。
      

  13.   

    搜索出来的结果有 日期<datetostr(一个Tdate型) 的记录吗?
      

  14.   

    有 日期<datetostr(一个Tdate型) 的记录!!!
    所以才郁闷啊
      

  15.   

    呵呵,这可真奇怪了,我也不晓得怎么回事。从没遇见过这种情况。
    要不你这样写这个查询试试?
    sql.add('select * from table where datefield >= :sale_date‘)
    而后给参数赋值:
    parambyname('sale_date').AsString  := formatdatetime('yyyy-mm-dd ',dtp_date.Date) + '00:00:00.000';
    再不行,我也没办法了。
      

  16.   

    ado.sql.add('select * from table where datefield >='+Quotedstr(datetostr(一个Tdate型)))
    这样好了.晕.感谢各位了!!