计算某当天的时间从0点0秒开始,某一时间点过了几秒。
可以根据用户输入的时间,计算出午夜时间,然后使用DATEDIFF函数可以算出过几秒。
如果获得午夜时间,可以参考:http://www.cnblogs.com/insus/archive/2011/09/09/2172419.html ,Insus.NET在此使用DATE(新版的SQL新增的日期类型,如SQL 2008 R2)
完整函数:


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