sql数据库中有一字段,类型为bigint,长度为8   但显示出来的长度为13位  如: 1204848205515 (随便从数据库中找的一个)如何转换为2008-04-21 23:23:23这种类型的

解决方案 »

  1.   

    SELECT DATEADD(s,1204848205515/1000,'1970-02-15 23:19:58.000')
      

  2.   

    顶楼上~
    SQL Server的日期就是这样产生的
      

  3.   

    顶楼上的楼上
    另:数据类型为int或bigint等时长度为4和8即他们的每一个值要求4个字节存储空间或8字节,而不是他们存的
    长度为4和8.
      

  4.   

    实在是笨   试了半天发现跟那些正常模样的日期时间不一样 还不知道怎么把数据(如1204848205515)从数据库中读出来,
    var ss:tdatetime;
    ss:= clientdataset1.FieldByName('time1').AsDateTime ;提示Cannot access field 'time1' as type datetimeSELECT DATEADD(s,1204848205515/1000,'1970-02-15 23:19:58.000')
    如何得到上面的结果
      

  5.   

    在写Sql的时候,直接转换
    给你个例子,自己调试下:select DATEADD(s,time1/1000,'1970-02-15 23:19:58.000') as time1 from table1
      

  6.   

    var
      ss:TDateTime;
    begin
      ss:= clientdataset1.FieldByName('time1').AsString ;
      Sql.text:='SELECT DATEADD(s,'+clientdataset1.FieldByName('time1').AsString+'/1000,''1970-02-15 23:19:58.000'') '
      open;
      ss:=FieldByName().AsDatetime;
      
    end;
      

  7.   

    为什么不直接使用DateTime,smallDateTime
      

  8.   

    基本搞定 先谢谢liangpei2008    不过 1970-02-15 23:19:58.000是哪来的