• I would construct a function like this for the same purpose.

    Not so easy to read but I think it is probably a little more efficient.

    /*

    DECLARE @dtest NVARCHAR(14)

    SET @dtest=dbo.GetDateTimeString(getdate())

    SELECT @dtest as Test,getdate()

    */

    ALTER FUNCTION [dbo].[GetDateTimeString]

    (

    @inDateTime datetime

    )

    RETURNS varchar(12)

    AS

    BEGIN

    DECLARE @DateString varchar(12)

    SELECT @DateString = CONVERT(varchar(8), @inDateTime, 112) +

    STUFF('00', 3 - LEN(CONVERT(varchar(2), DATEPART(hour, @inDateTime))), 2, CONVERT(varchar(2), DATEPART(hour, @inDateTime))) +

    STUFF('00', 3 - LEN(CONVERT(varchar(2), DATEPART(minute, @inDateTime))), 2, CONVERT(varchar(2), DATEPART(minute, @inDateTime)))

    RETURN @DateString

    END