我有一个字段,其中包含午夜后的秒数,但SQL Server只会将其显示为datetime yyyy-mm-dd hh.ss.xxx
。我试图查询这个并将数据转换为午夜后的数秒,它应该是这样的,例如, 01:00
将是3600
。
我尝试了SELECT CONVERT(int, timefield)
,但结果是一个名为(无列名称)的列,值为-1或-2。
我在这里做错了什么?
感谢您的帮助!
答案 0 :(得分:3)
使用DATEDIFF函数:
SELECT DATEDIFF(SECOND, 0, '12:00:00')
来自http://www.eggheadcafe.com/software/aspnet/35057980/mssql-timetosec.aspx
答案 1 :(得分:1)
你想要这样的东西
SELECT [Total Seconds] =
(DATEPART(hh, GETDATE()) * 3600) +
(DATEPART(mi, GETDATE()) * 60) + DATEPART(ss, GETDATE())
希望我的回答可以帮助您解决问题。