sql >> Database >  >> RDS >> Mysql

Kan MySQL.DateTime niet converteren naar System.DateTime met 0000-00-00 00:00:00 waarden

Kijkend naar deze documentatie , lijkt het alsof u twee tegenstrijdige opties opgeeft (AllowZeroDateTime=true en ConvertZeroDateTime=true ) en een die niet lijkt te worden vermeld (ZeroDateTimeBehavior=ConvertToNull ).

Ik stel voor dat tenzij je echte gegevens hebt, namelijk DateTime.MinValue die u niet wilt verwarren met de waarde "nul", u gewoon specificeer ConvertZeroDateTime=true en detecteren of het resultaat DateTime.MinValue . is . Je mag absoluut niet bel reader.GetDateTime() , converteer het resultaat vervolgens naar een tekenreeks en vervolgens terug naar een DateTime - je moet string-conversies zoveel mogelijk vermijden, omdat ze dingen vrij gemakkelijk voor je kunnen verknoeien.

Het is niet echt duidelijk welke tekenreekswaarde je wilt voor deze "nul"-waarden, maar je zou ze in speciale letters moeten kunnen plaatsen met DateTime.MinValue redelijk makkelijk. Persoonlijk zou ik proberen de gegevens zoveel mogelijk in hun "native" vorm te houden in plaats van alles naar strings te converteren, maar dat is een andere strijd.




  1. Hoe sp_describe_first_result_set werkt in SQL Server

  2. mysql-fout:tabel mysql.innodb_table_stats niet gevonden

  3. Schakel een partitie in SQL Server (T-SQL) in

  4. Entity Framework MySQL tinyint(1) System.Boolean.Parse FormatException