Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Nie można przekonwertować MySQL.DateTime na System.DateTime z wartościami 0000-00-00 00:00:00

Patrząc na tę dokumentację , wygląda na to, że określasz dwie sprzeczne opcje (AllowZeroDateTime=true i ConvertZeroDateTime=true ) i taki, który wydaje się nie być wymieniony (ZeroDateTimeBehavior=ConvertToNull ).

Proponuję, chyba że masz rzeczywiste dane, które są DateTime.MinValue którego nie chcesz mieszać z wartością „zero”, po prostu określ ConvertZeroDateTime=true i wykryj, czy wynik to DateTime.MinValue . Zdecydowanie nie powinieneś wywołaj reader.GetDateTime() , a następnie przekonwertuj wynik na ciąg, a następnie z powrotem na DateTime - powinieneś unikać konwersji ciągów tak dalece, jak to możliwe, ponieważ mogą one łatwo zepsuć.

Nie jest do końca jasne, jaką wartość ciągu chcesz dla tych „zerowych” wartości, ale powinieneś być w stanie zamienić je w specjalną wielkość liter za pomocą DateTime.MinValue dość łatwe. Osobiście starałbym się zachować dane w ich „natywnej” formie tak bardzo, jak to możliwe, zamiast konwertować wszystko na ciągi, ale to inna bitwa.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zmienić katalog bazy danych mysql na WAMP

  2. Najlepszy sposób na przechowywanie span na czas w bazie danych MySQL?

  3. laravel 4 - jak ograniczyć (przejmowanie i pomijanie) dla elokwentnego ORM?

  4. Uzyskaj automatyczny dostęp do DB5 do MySQL

  5. Skutecznie oczyszczaj tekst wprowadzony przez użytkownika