• For fun, there are few ways of doing this:

    😎

    USE tempdb;

    GO

    SET NOCOUNT ON;

    DECLARE @dt DATETIME = '2014-04-09 13:22:31.544';

    ;WITH BASE_DATA(TTDATE) AS

    (

    SELECT DATEADD( HOUR , 14 , CONVERT( DATETIME , FLOOR( CONVERT( NUMERIC(8,1) , @dt , 0 )) , 0 ))

    UNION ALL

    SELECT DATEADD( HOUR , 14 , CONVERT( DATETIME , FLOOR( CONVERT( FLOAT , @dt , 0 )) , 0 ))

    UNION ALL

    SELECT DATEADD( HOUR , 14 , DATEADD( DAY , DATEDIFF(DAY, 0 , @dt ) , 0 ))

    UNION ALL

    SELECT DATEADD( HOUR , 14 , CONVERT( DATETIME , CONVERT( DATE , @dt , 0 ) , 0 ))

    UNION ALL

    SELECT DATEADD( HOUR , 14 , CONVERT( DATETIME , CONVERT( VARCHAR(10) , @dt , 112 ) , 112 ))

    )

    SELECT

    BD.TTDATE

    FROM BASE_DATA BD;

    Results

    TTDATE

    -----------------------

    2014-04-09 14:00:00.000

    2014-04-09 14:00:00.000

    2014-04-09 14:00:00.000

    2014-04-09 14:00:00.000

    2014-04-09 14:00:00.000