我的数据表T1内有字段chno  char(12)  
内有数据
         chno        datetime     
        031108       2003-11-08
        031101       2003-11-01
        031110       2003-11-00
        031111       2003-11-11
        031111       2003-11-11
我要一次性把它转成日期型的,格式:2003-11-08       请各位帮忙分别用DELPHI和SQL的代码写出。

解决方案 »

  1.   

    delphi代码:
    窗体上放两edit,一个buttonprocedure TForm1.Button1Click(Sender: TObject);
    begin
    edit2.Text:=copy(edit1.Text, 1,2)+'-'+copy(edit1.Text, 3,2)+'-'+copy(edit1.Text, 5,2);
    end;
      

  2.   

    CAST('2003-11-08' AS DATETIME)  SQLSTRTODATETIME('2003-11-08')  DELPHI
      

  3.   

    with adoquery1 do
    begin
      close;
      sql.clear;
      sql.text := 'select chno datetime from T1  ';
      open;
      fieldbyname('datetime').asdatetime;  //输出时间类型的值;
      fieldbyname('datetime').asstring;    //输出字符'2003-11-8'
    end;
      

  4.   

    你们误会我意思了,我是要把表T1内的所有记录用一个BUTTON ,一次性转为DATETIME型,
    不是一个一个记录的转换。
      

  5.   

    用sql语句啊,sql也有类型转换的函数啊,每个数据库函数不同
      

  6.   

    update 表名 set [datetime]="2003-11-08" ??
    datetime是不是字段?最好不要用这种做为字段。or update 表名 set [datetime]=CDate("2003-11-08")  //Access里面可以
      

  7.   

    1.  adoquery1.fieldbyname('datetime').asstring2.  adoquery1.sql.add('select chno,datetime,convert(char(8),datetime) as date from t1')
      

  8.   

    2.  adoquery1.sql.add('select chno,datetime,convert(char(10),datetime,101) as date from t1')
      

  9.   

    这样不能解决问题,
      我是要把表T1内的所有记录用一个BUTTON ,一次性转为DATETIME型,
    不是一个一个记录的转换。循环语句不知如何写?
      

  10.   

    不懂什么意思,日期型数据是不用关心格式的,只有String类型的才会关心这些
    若要在Delphi中实现格式变换,用FormatDateTime方法
    若要在数据库中实现,用convert(SQL Server中的,其他的我不知道)
      

  11.   

    sql   CAST(chno--变成相应格式 AS DATETIME)  
            delphi  strtodate