计算某当天的时间从0点0秒开始,某一时间点过了几秒。
可以根据用户输入的时间,计算出午夜时间,然后使用DATEDIFF函数可以算出过几秒。
如果获得午夜时间,可以参考:http://www.cnblogs.com/insus/archive/2011/09/09/2172419.html ,Insus.NET在此使用DATE(新版的SQL新增的日期类型,如SQL 2008 R2)
完整函数:
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![ExpandedBlockStart.gif](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
CREATE
FUNCTION
[
dbo
].
[
DurationSeconds
]
(
@Date DATETIME
)
RETURNS INT
AS
BEGIN
DECLARE @Midnight DATETIME = CAST( CAST( @Date AS DATE) AS DATETIME)
RETURN DATEDIFF(ss, @Midnight, @Date)
END
(
@Date DATETIME
)
RETURNS INT
AS
BEGIN
DECLARE @Midnight DATETIME = CAST( CAST( @Date AS DATE) AS DATETIME)
RETURN DATEDIFF(ss, @Midnight, @Date)
END