Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Résolution du dépassement TRY_PARSE() avec la date et l'heure dans SQL Server 2012. Doit être compris entre le 01/01/1753 00:00:00 et le 31/12/9999 23:59:59

Utiliser DateTime2 au lieu de DateTime

SELECT TRY_PARSE('01-Jan-0001' AS datetime2)

SELECT TRY_CONVERT(datetime2, '01-Jan-0001')

Et encore une chose

Utilisez TRY_CONVERT au lieu de TRY_PARSE :

  • TRY_PARSE :renvoie le résultat de l'expression, traduit dans le type de données demandé, ou nul si le cast échoue.

  • TRY_CONVERT :renvoie une valeur convertie en type de données spécifié si la conversion réussit ; sinon, renvoie null.

SELECT TRY_CONVERT(datetime2, '12/31/2010') AS Result;