获得全部时间
我怎样才能获得像这样的整个时间 datediff(time, logindate, logoutdate)
我知道这个内置函数不接受时间参数,但我怎样才能获得整个时间而不是分钟,毫秒、第二等?
logindate datetime2
logoutdate datetime2
我想要像 1:05:45 这样的东西而不是它的一部分。
How can I get the whole time like this datediff(time, logindate, logoutdate)
I know this built-in function doesn't accept time argument but how can I get the whole time rather than minute, millisecond, second etc. ?
logindate datetime2
logoutdate datetime2
I want something like 1:05:45 rather than portion of it.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
试试这个
基本上,将日期之间的分钟差添加到最早的有效 SQL 日期,并返回格式化为时间的值。
Try this
Basically, adding the minutes difference between the dates to the earliest valid SQL date and returning the value formatted as a time.
以天数为单位的差异:
或者只是
您可以从中评估天数、小时数、分钟数。
编辑
将其格式化为时间:
如果用户超过 24 小时没有登录,它将起作用,因为 CONVERT 用于格式化日期时间,而不是时间跨度。
To have difference in days:
or just
You can evaluate days, hours, minutes from it.
EDIT
To have it formatted as time:
It will work if users are not logged for more than 24 hours, because CONVERT is used to format datetime, not timespan.
由于 MSSQL 没有 timepsan 数据类型,因此以毫秒到年的绝对整数返回的
datediff
应该足以让您在 .NET 中创建TimeSpan
的实例。Because MSSQL do not have timepsan datatype,
datediff
returning in absolute integer from milliseconds to years should be enough for you to create a instance of sayTimeSpan
in .NET.您所说的 Sql Server 版本是什么?至少在 SQL Server 2000 及更高版本中,
将为您提供这两个日期时间之间的差异(以秒为单位)。
What Sql Server version are you talking about? In SQL Server 2000 and later, at least,
will give you the difference between those two datetimes in seconds.
例如
选择 CONVERT(varchar(10),GETDATE(),108)
E.g.
select CONVERT(varchar(10),GETDATE(),108)
这是您正在寻找的解决方案。
Here's the solution you are looking for.