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