有一个__int64类型的变量怎么转成datetime类型的啊,主要是毫秒后面的那段怎么放进去啊?

xcex 2005-11-13 11:25:06
如题 __int64是按照年月日时分秒毫秒这样的顺序放的。
...全文
431 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
vivianfdlpw 2005-11-17
  • 打赏
  • 举报
回复
declare @num bigint
select @num=20050101000000000

select stuff(stuff(stuff(stuff(stuff(stuff(@num,5,0,'-'),8,0,'-'),11,0,' '),14,0,':'),17,0,':'),20,0,'.')
-- 结果
/*
2005-01-01 00:00:00.000

(1 row(s) affected)
*/
xcex 2005-11-17
  • 打赏
  • 举报
回复
能把代码写具体点吗,我是新手,最好能直接把代码抄上去就最好了:)谢谢大家啊。
bugchen888 2005-11-14
  • 打赏
  • 举报
回复
datetime

从 1753 年 1 月 1 日到 9999 年 12 月 31 日的日期和时间数据,精确度为百分之三秒(等于 3.33 毫秒或 0.00333 秒)。如下表所示,把值调整到 .000、.003、或 .007 秒的增量。

示例 调整后的示例
01/01/98 23:59:59.999 1998-01-02 00:00:00.000
01/01/98 23:59:59.995,
01/01/98 23:59:59.996,
01/01/98 23:59:59.997, 或
01/01/98 23:59:59.998 1998-01-01 23:59:59.997
01/01/98 23:59:59.992,
01/01/98 23:59:59.993,
01/01/98 23:59:59.994 1998-01-01 23:59:59.993
01/01/98 23:59:59.990 或
01/01/98 23:59:59.991 1998-01-01 23:59:59.990
子陌红尘 2005-11-14
  • 打赏
  • 举报
回复
先把数字转为字符串并按顺序组织为'yyyy-mm-dd hh:mi:ss.mmm'格式,然后转为日期。
newmcz 2005-11-14
  • 打赏
  • 举报
回复
把__int64按'2005-01-01 00:00:00.000'组个串,然后再转吧

select convert(datetime,'2005-01-01 00:00:00.000')

34,838

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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