用的是query,为什么在用查询时加入时间条件不能查出满足时间条件的记录?如
select * 
from stu
where birthday = 2003-8-13
不能查出生日是2003-8-13的记录,别的条件查询都是可以的,不知道为什么是不是时间查询格式不同,可是这样编译并没错,只是查不出任何记录,不知各位有没有遇到同样问题怎样解决的?谢谢帮忙!!!

解决方案 »

  1.   

    后面是不是还有时分秒
    ,还有是不是SQLSever数据库
    是的话可以用
    Cast('2003-8-13' as DateTime) 来转换
      

  2.   

    where convert(char(10),Birthday,120)='2003-8-13'where DATEDIFF ( day, birthday,'2003-8-13')=1 
      

  3.   

    Select *  from stu
    where convert(char(10),birthday) ='2003-08-13'
      

  4.   

    select * 
    from stu
    where birthday = '2003-8-13'
      

  5.   

    如果是SQLServer:select * from stu where birthday='2003-8-13'SQLServer会自动转换的。你这样写:2003-8-13 它以为是2003减8减13
      

  6.   

    同意 pengdali(大力 V2.0)
    加单引号就行了。
      

  7.   

    用ACCESS的话#2003-8-13#
    SQL_SERVER的话'2003-8-13'
      

  8.   

    qUERY1.SQL.Add('select * from stu where birthday =:dt');
    Query1.Params.ParamByName('dt').AsDate :=DateTimePicker1.Date;
      

  9.   

    birthday是什麼類型.如果是string ,
    需要看他的格式
      

  10.   

    时间的格式;不同的数据库查询的也不同access 用#  #
    sql server 用 '  '
      

  11.   

    1.注意時間格式,有兩個地方:操作系統(也包括數據庫系統)和所開發系統的時間格式設定﹔
    2.比較時最好用:
    select * 
    from stu
    where birthday >='2003-8-13' and birthday <'2003-8-14'