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