Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Rozwiązywanie problemu z przepełnieniem TRY_PARSE() z datą i godziną w programie SQL Server 2012. Musi mieścić się w przedziale od 1/01 1753 12:00:00 do 12/31/9999 23:59:59

Użyj DateTime2 zamiast DateTime

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

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

I jeszcze jedna rzecz

Użyj TRY_CONVERT zamiast TRY_PARSE :

  • TRY_PARSE :Zwraca wynik wyrażenia przetłumaczony na żądany typ danych lub null, jeśli rzutowanie się nie powiedzie.

  • TRY_CONVERT :Zwraca rzutowanie wartości na określony typ danych, jeśli rzutowanie się powiedzie; w przeciwnym razie zwraca wartość null.

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Haszowanie ponad 8000 bajtów w SQL Server

  2. iteracja przez wiersze datagrid

  3. SQL UPDATE nie działa z językami obcymi (arabski)

  4. Buforowanie C# SQLConnection

  5. SQL :BETWEEN vs <=i>=