Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Resolvendo estouro de TRY_PARSE() com datetime no SQL Server 2012. Deve estar entre 1/1/1753 12:00:00 AM e 31/12/9999 23:59:59 PM


Use DateTime2 em vez de DateTime
SELECT TRY_PARSE('01-Jan-0001' AS datetime2)

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

E mais uma coisa

Use TRY_CONVERT em vez de TRY_PARSE :

  • TRY_PARSE :Retorna o resultado da expressão, convertido para o tipo de dados solicitado ou nulo se a conversão falhar.

  • TRY_CONVERT :Retorna um valor convertido para o tipo de dados especificado se a conversão for bem-sucedida; caso contrário, retorna null.
SELECT TRY_CONVERT(datetime2, '12/31/2010') AS Result;