Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Auflösen des TRY_PARSE()-Überlaufs mit datetime in SQL Server 2012. Muss zwischen dem 1.1.1753 00:00:00 und dem 31.12.9999 23:59:59 liegen

Verwenden Sie DateTime2 anstelle von DateTime

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

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

Und noch etwas

Verwenden Sie TRY_CONVERT statt TRY_PARSE :

  • TRY_PARSE :Gibt das Ergebnis des Ausdrucks zurück, übersetzt in den angeforderten Datentyp, oder null, wenn die Umwandlung fehlschlägt.

  • TRY_CONVERT :Gibt eine Wertumwandlung in den angegebenen Datentyp zurück, wenn die Umwandlung erfolgreich ist; andernfalls wird null zurückgegeben.

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