1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
CREATE PROCEDURE P_IsDate2(@dateStr NVARCHAR(20), @retour INT OUTPUT)
AS
BEGIN
DECLARE @datetime2 datetime2
BEGIN TRY
SELECT @datetime2 = CONVERT(DATETIME2, @dateStr)
SELECT @retour = 1
END TRY
BEGIN CATCH
SELECT @retour = 0
END CATCH
END
--Utilisation de la procédure P_IsDate
DECLARE @re INT
EXEC P_IsDate2 N'0001-01-01',@re OUTPUT
IF (SELECT @re) = 1
PRINT 'VALID'
ELSE
PRINT 'INVALID'
--Résultat : VALID
DECLARE @re INT
EXEC P_IsDate2 N'23:59:59.9999999',@re OUTPUT
IF (SELECT @re) = 1
PRINT 'VALID'
ELSE
PRINT 'INVALID'
--Résultat : VALID |