sql日期时间的转换

jmxb123 2008-04-22 12:08:29
sql数据库中有一字段,类型为bigint,长度为8 但显示出来的长度为13位 如: 1204848205515 (随便从数据库中找的一个)

如何转换为2008-04-21 23:23:23这种类型的
...全文
131 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
jmxb123 2008-04-22
  • 打赏
  • 举报
回复
基本搞定 先谢谢liangpei2008 不过 1970-02-15 23:19:58.000是哪来的
xingyongjian 2008-04-22
  • 打赏
  • 举报
回复
为什么不直接使用DateTime,smallDateTime
liangpei2008 2008-04-22
  • 打赏
  • 举报
回复
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;
踢踏 2008-04-22
  • 打赏
  • 举报
回复
在写Sql的时候,直接转换
给你个例子,自己调试下:

select DATEADD(s,time1/1000,'1970-02-15 23:19:58.000') as time1 from table1

hsmserver 2008-04-22
  • 打赏
  • 举报
回复
CONVERT
jmxb123 2008-04-22
  • 打赏
  • 举报
回复
实在是笨 试了半天发现跟那些正常模样的日期时间不一样 还不知道怎么把数据(如1204848205515)从数据库中读出来,
var ss:tdatetime;
ss:= clientdataset1.FieldByName('time1').AsDateTime ;

提示Cannot access field 'time1' as type datetime



SELECT DATEADD(s,1204848205515/1000,'1970-02-15 23:19:58.000')
如何得到上面的结果
阿三 2008-04-22
  • 打赏
  • 举报
回复
顶楼上的楼上
另:数据类型为int或bigint等时长度为4和8即他们的每一个值要求4个字节存储空间或8字节,而不是他们存的
长度为4和8.
liangpei2008 2008-04-22
  • 打赏
  • 举报
回复
顶楼上~
SQL Server的日期就是这样产生的
jinjazz 2008-04-22
  • 打赏
  • 举报
回复
SELECT DATEADD(s,1204848205515/1000,'1970-02-15 23:19:58.000')

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧