查看: 1637|回复: 0

[SQLServer] SQL Server time(2)类型存储为int后如何转换

发表于 2018-3-10 08:00:01

time(2)类型将毫秒保留两位,应用程序将time(2)类型转换为int存储到SQL Server后,以下两种方法均可将int转换为time(2):

  1. --方法1
  2. DECLARE @T int
  3. SET @T = 10455836
  4. SELECT DATEADD(hour, (@T / 1000000) % 100,
  5. DATEADD(minute, (@T / 10000) % 100,
  6. DATEADD(second, (@T / 100) % 100,
  7. DATEADD(millisecond, (@T % 100) * 10, cast('00:00:00' AS time(2))))))
  8. --方法2
  9. SELECT CAST(STUFF(STUFF(STUFF(CAST(@T AS varchar),3,0,':'),6,0,':'),9,0,'.') AS time(2))
复制代码




回复

使用道具 举报