sql >> Base de Datos >  >> RDS >> Sqlserver

Resolviendo el desbordamiento de TRY_PARSE() con fecha y hora en SQL Server 2012. Debe ser entre el 1/1/1753 12:00:00 AM y el 31/12/9999 11:59:59 PM

Utilice DateTime2 en lugar de DateTime

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

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

Y una cosa más

Usa TRY_CONVERT en lugar de TRY_PARSE :

  • TRY_PARSE :Devuelve el resultado de la expresión, traducido al tipo de datos solicitado, o nulo si la conversión falla.

  • TRY_CONVERT :Devuelve una conversión de valor al tipo de datos especificado si la conversión tiene éxito; de lo contrario, devuelve nulo.

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