从access表中取出所有日期/时间(格式如:2007-7-10 8:01:05)类型的数据,,怎样把数据库中日期/时间类型的数据转换成日期类型,然后放到sql语句中和现在的日期(年月日)进行比较??????????
GH plrq wxfw wmyy jdbz jdzql lkmyd
2 2007-7-20 15:39:30   1 1 1 1 1
2 2007-7-20 15:39:44   1 1 1 1 1
2 2007-7-20 20:37:47   0 0 0 0 0
2 2007-7-20 23:59:59   1 1 0 0 -1
2 2007-7-22 18:01:02   -1 0 0 0 0
2 2007-7-22 18:01:03   0 0 0 0 0
2 2007-7-22 18:01:04   1 0 0 0 0
把plrq在2007-7-20 中的记录取出来;急求sql!!!!!!!!!!

解决方案 »

  1.   

    似乎明白你的意思了你试一试这个SELECT * From 表 WHERE year([plrq]) = 2007 AND month([plrq]) = 7 and day([plrq]) = 20 ;
      

  2.   

    哦不好意思
    我还是没有说明白
    我想取的日期是和现在的日期是对应的
    也就是2007 ; 7  ; 20  都是变化的
    也就是取数据库中和今日相对应(不考虑时间)的记录;
    和今月相对应的记录(不考虑日,时,分,秒);
    和今年相对应的记录(不考虑月。日。时。分。秒) 
    想求这3条sql语句
    GH plrq wxfw wmyy jdbz jdzql lkmyd
    2 2007-7-20 15:39:30   1 1 1 1 1
    2 2007-7-20 15:39:44   1 1 1 1 1
    2 2007-7-20 20:37:47   0 0 0 0 0
    2 2007-8-20 23:59:59   1 1 0 0 -1
    2 2008-7-22 18:01:02   -1 0 0 0 0
    2 2007-7-22 18:01:03   0 0 0 0 0
    2 2007-7-22 18:01:04   1 0 0 0 0
    取年的话就是2007的6条记录;取月的话就是5条记录;
      

  3.   

    sql.Add('select * from jdwx where gh="2" and year([plrq])=:Ytmpplrq and month([plrq])=:Mtmpplrq');
        Parameters.ParamByName('Ytmpplrq').value:=FormatDateTime('yyyy',now());
       Parameters.ParamByName('Mtmpplrq').value:=FormatDateTime('mm',now());
    这样写有错误吗?
    为什么查出来的记录条数是0啊????
    高手快指点啊!!!!!!!!!!!!!!!!!!!!!
      

  4.   

    问题已经解决
    但是还是要谢谢你
    starao()