select time from records
其中time 是datetime类型的,比如:2012-4-19 19:21:20
我如何只取出这个字段的日期或时间得到 2012-4-19 或者19:21:20
求指点

解决方案 »

  1.   

    ...
    adoquery1.sql.text:='select [time] from records';
    adoquery1.open;用adoquery1.fields[0].asdatetime取值,就包含日期和時間了只要日期或者只要時間,可以用formatdatetime函數
      

  2.   

    我本来是这样 
    s:='select * from records where time='+datetimepicker1.datetime;
    datetimepicker1好像日期和时间不能同时修改,所以我用了两个datetimepicker,datetimepicker1显示日期 datetimepicker显示小时分钟秒;这样写select语句的时候就应该是select * from records where time的日期等于datetimepicker1.date and time的小时分钟秒等于datetimepicker1.time。所以要怎么分别取出time的日期和时间??
      

  3.   

    时间:
     SELECT CONVERT(VARCHAR(10),GETDATE(),8)
     日期:
     SELECT CONVERT(varchar(10),GETDATE(),120)
      

  4.   

    FormatDateTime('yyyy-mm-dd',adoquery1.fieldbyname('具体字段名').asdatetime);
    FormatDateTime('hh:nn:ss',adoquery1.fieldbyname('具体字段名').asdatetime);
      

  5.   

    我本来是这样  
    s:='select * from records where time='+datetimepicker1.datetime;但是
    datetimepicker1好像日期和时间不能同时修改,所以我用了两个datetimepicker,datetimepicker1显示日期 datetimepicker2显示小时分钟秒;这样写select语句的时候就应该是select * from records where time的日期等于datetimepicker1.date  and  time的小时分钟秒等于datetimepicker2.time。所以要怎么分别取出time的日期和时间??
      

  6.   

    是这样么?其中time是字段
       adoquery1.Close;
       s:='select * from records where FormatDateTime(''yyyy-mm-dd'',adoquery1.fieldbyname(''time'').asdatetime)';
       s:=s+' ='+FormatDateTime('yyyy-mm-dd', DateTimePicker1.DateTime);
       s:=s+' and FormatDateTime(''hh:mm:ss'',adoquery1.fieldbyname(''time'').asdatetime)';   s:=s+' = '+FormatDateTime('hh:mm:ss', DateTimePicker2.DateTime);
       adoquery1.SQL.Text:=s;
       adoquery1.Open;