,CONVERT(DATETIME, MIN(CONVERT(VARCHAR(11), [ivst_from], 120) + CASE
WHEN LEN(CONVERT(VARCHAR(8), LTRIM(RTRIM(REPLACE(REPLACE([ivst_ftime], 'AM', ''), 'PM', ''))))) < 4 THEN '00:00:00'WHEN LEN(CONVERT(VARCHAR(8), LTRIM(RTRIM(REPLACE(REPLACE([ivst_ftime], 'AM', ''), 'PM', ''))))) = 4 THEN '0'+ CONVERT(VARCHAR(8), LTRIM(RTRIM(REPLACE(REPLACE([ivst_ftime], 'AM', ''), 'PM', ''))) + ':00')WHEN LEN(CONVERT(VARCHAR(8), LTRIM(RTRIM(REPLACE(REPLACE([ivst_ftime], 'AM', ''), 'PM', ''))))) = 5 THEN CONVERT(VARCHAR(8), LTRIM(RTRIM(REPLACE(REPLACE([ivst_ftime], 'AM', ''), 'PM', ''))) + ':00')WHEN LEN(CONVERT(VARCHAR(8), LTRIM(RTRIM(REPLACE(REPLACE([ivst_ftime], 'AM', ''), 'PM', ''))))) = 6 THEN CONVERT(VARCHAR(8), LTRIM(RTRIM('0'+REPLACE(REPLACE([ivst_ftime], 'AM', ''), 'PM', ''))) + ':00')WHEN LEN(CONVERT(VARCHAR(8), LTRIM(RTRIM(REPLACE(REPLACE([ivst_ftime], 'AM', ''), 'PM', ''))))) = 7 THEN '0'+ CONVERT(VARCHAR(8), LTRIM(RTRIM(REPLACE(REPLACE([ivst_ftime], 'AM', ''), 'PM', ''))) + ':00')ELSE
CASE WHEN CAST(SUBSTRING(CONVERT(VARCHAR(8), [ivst_ftime]),1,2) AS INT) > 23 THEN '00:00:00' ELSE CONVERT(VARCHAR(8), [ivst_ftime]) END END)) AS [EffDate]
set @now = getDate();
set @month = right(N'0' + convert(nvarchar(2), month(@now)), 2);
set @day = right(N'0' + convert(nvarchar(2), day(@now)), 2);