我在做一个程序.要提取某段时间内的数据.本想用SQL语句实现,但是没能实现.请教各位大虾.谢谢.请尽快回复.谢谢

解决方案 »

  1.   

    mysql := 'select pmdm,pmmc,ydj,dj,yxj,xj,bz,zxrq,fbrq,tjfw,blydj,bldj,swm from lstj_hist where '+'fbrq>='''+DateToStr(DateTimePicker1.DateTime)+'''';
         mysql := mysql+'and fbrq<='''+DateToStr(DateTimePicker2.DateTime)+'''';
      

  2.   

    用sql的between语法吧,否则用>= and <=的方式要先判断两个日期哪一个较大BETWEEN
    指定测试范围。语法
    test_expression [ NOT ] BETWEEN begin_expression AND end_expression参数
    test_expression是用来在由 begin_expression 和 end_expression 定义的范围内进行测试的表达式。test_expression 必须与 begin_expression 和 end_expression 具有相同的数据类型。NOT指定谓词的结果被取反。begin_expression是任何有效的 Microsoft&reg; SQL Server&#8482; 表达式。begin_expression 必须与 test_expression 和 end_expression 具有相同的数据类型。end_expression是任何有效的 SQL Server 表达式。end_expression 必须与 test_expression 和 begin_expression 一样具有相同的数据类型。AND作为一个占位符,表示 test_expression 应该处于由 begin_expression 和 end_expression 指定的范围内。结果类型
    Boolean结果值
    如果 test_expression 的值大于或等于 begin_expression 的值并且小于或等于 end_expression 的值,则 BETWEEN 返回 TRUE。如果 test_expression 的值小于 begin_expression 的值或者大于 end_expression 的值,则 NOT BETWEEN 返回 TRUE。注释
    若要指定排除范围,请使用大于 (>) 和小于 (<) 运算符。如果任何 BETWEEN 或 NOT BETWEEN 谓词的输入为 NULL,则结果是 UNKNOWN。
      

  3.   

    select * from table1 where T_Date between date1 and date2
      

  4.   

    select   *
    from     table
    where    date between();
      

  5.   

    select   *
    from     table
    where    date between(s_date,e_date);
      

  6.   

    select   *
    from     table
    where    date between(s_date,e_date);
    select   *
    from     table
    where    date between();
      

  7.   

    Select * from #table where expr1 between datetime1 and datetime2