select count(*)                            
from checking 
where start_time>'1899-12-30 08:10:00';   //A
//star_time是datetime类型,然后我用adoquery1.Parameters.ParamByName('start_time').Value:=timetostr(now());为start_time赋值当前系统时间中的除去日期之外的部分,例如now()函数获得'2010-09-09 12:22:00',用timetostr(now())获得'12:22:00'。
问题一:用sql server2000 打开表看到start_time列中的值为'12:22:00',但用delphi中的adoquery,datasource,dbgrid组件编写一个应用程序用sql语句'select * from 表'来显示则显示为'1899-12-30 12:22:00',这是怎么回事,怎么解决?
问题二:题中A行中有错误,请问怎么将start_time与某个固定时间进行比较,比如start_time与'8:10:00'进行比较?

解决方案 »

  1.   

    1 设置下你Sql时间的显示格式  并把那一列拉长  还有看下系统时间
    2 如果你是比较时间:取出后面的时间  在与 8:10:00 比较  取时间的 好像是Gethoure() Get...  
    很久没用数据库了
      

  2.   

    既然是日期型字段,就必然有日期和时间,所以如果你只是想要时间的话,建议你把字段类型改为nvarchar类型,那样怎样写都可以
      

  3.   

    很简单,要进行比较,可以截取字符段,用FormatDateTime和Copy均可达到你要的效果