[SQL Server] Construire une datetime à partir d'un chaine de cractère qui contient une date en format YYYYMMDD et une autre chaine qui contient l'heure en format HHMM
-- =============================================
-- Author : Zouhaier KHARROUBI
-- Create date: 28/09/2016
-- Description: Construire une datetime à partir d'un chaine de cractère qui contient
-- une date en format YYYYMMDD et une autre chaine qui contient l'heure en format HHMM
-- =============================================
DECLARE @DATE_EVENEMENT CHAR(8)
,@HEURE_EVENEMENT CHAR(4)
,@DATE_HEURE_EVENEMENT DATETIME
SELECT @DATE_EVENEMENT = '20160928'
SELECT @HEURE_EVENEMENT = '1354'
SELECT @DATE_HEURE_EVENEMENT = CAST(
CAST(YEAR(@DATE_EVENEMENT) AS VARCHAR(4))
+ '-'
+ REVERSE(SUBSTRING(REVERSE(CAST('0' + CAST(MONTH(@DATE_EVENEMENT) AS VARCHAR(2)) AS VARCHAR(3)) ),1,2))
+ '-' + REVERSE(SUBSTRING(REVERSE(CAST('0' + CAST(DAY(@DATE_EVENEMENT) AS VARCHAR(2)) AS VARCHAR(3)) ),1,2)) +
'T'
+ CAST(SUBSTRING(@HEURE_EVENEMENT,1,2) AS VARCHAR(2)) + ':' + CAST(SUBSTRING(@HEURE_EVENEMENT,3,2) AS VARCHAR(2))+ ':' + CAST(SUBSTRING(@HEURE_EVENEMENT+'00',5,2) AS VARCHAR(2))
AS DATETIME)
SELECT @DATE_HEURE_EVENEMENT