sql >> データベース >  >> RDS >> Mysql

MySQL.DateTimeを0000-00-0000:00:00の値でSystem.DateTimeに変換できません

    このドキュメント を見る 、2つの矛盾するオプションを指定しているようです(AllowZeroDateTime=true およびConvertZeroDateTime=true )およびリストされていないように見えるもの(ZeroDateTimeBehavior=ConvertToNull

    DateTime.MinValueである実際のデータがない限りお勧めします 「ゼロ」の値と混同したくない場合は、 ConvertZeroDateTime=trueを指定します 結果がDateTime.MinValueであるかどうかを検出します 。あなたは間違いなくすべきではありません reader.GetDateTime()を呼び出します 、次に結果を文字列に変換してから、DateTimeに戻します -文字列変換は、非常に簡単に混乱する可能性があるため、できる限り避ける必要があります。

    これらの「ゼロ」値に必要な文字列値は明確ではありませんが、DateTime.MinValueを使用して特殊なケースに入れることができるはずです。 かなり簡単です。個人的には、すべてを文字列に変換するのではなく、データを可能な限り「ネイティブ」形式に保つようにしていますが、それは別の戦いです。




    1. HTML入力フィールドへのクエリおよびエコーデータ

    2. 簡単な方法特定のテーブルの主キーとして適切な列を選択する

    3. MYSQLタグテーブルの並べ替え

    4. UPDATEのターゲットとMySqlのデータのソースの両方として同じテーブルを参照する