SQL Server在查询中把日期时间转换为int

0 人关注

我有一个字段,包含午夜后的秒数,但是SQL Server只将其显示为 datetime yyyy-mm-dd hh.ss.xxx xxx。我试图查询这个数据并将其转换为午夜后的秒数,应该是这样的,例如, 01:00 3600

我已经试过 SELECT CONVERT(int, timefield) ,但结果是一个名为(没有列名)的列,值是-1或-2。

我在这里做错了什么?

谢谢你的帮助!

sql-server-2008
tfp
tfp
发布于 2011-09-22
2 个回答
Dave
Dave
发布于 2011-09-22
已采纳
0 人赞同

使用函数DATEDIFF。

SELECT DATEDIFF(SECOND, 0, '12:00:00')

来自http://www.eggheadcafe.com/software/aspnet/35057980/mssql-timetosec.aspx

tfp
谢谢!我不得不把起始日期从0改成它指定的日期,但随后它就完美地工作了。
Dave
这就是我试图让它变得更好的结果 :)我将编辑这个帖子。
Dave
另外,如果这能解决你的问题,你可能想把它标记为一个答案。
Emaad Ali
Emaad Ali
发布于 2011-09-22
0 人赞同

你想要像这样的东西