私の SQL サーバーには、テスト用の非常に単純なテーブル
ID
がDate
ありますHours
。varchar
DateTime
varchar
SQL の DateTime 形式は次のようになりますyyyy-MM-dd HH:mm:ss.fff
。
C# の DateTime 形式は次のようになりますyyyy-dd-MM HH:mm:ss.fff
。
次のコードを使用して、C# DateTime 形式を取得します。
string ddd = "2012-10-10 00:00:00.000";
dt1 = DateTime.ParseExact(ddd, "yyyy-MM-dd HH:mm:ss.fff", null);
にしようとするとyyyy-dd-MM
、エラーが発生します。
文字列で表される DateTime は、カレンダーではサポートされていません。
私のC#アプリケーションでは、サンダーの日付間の合計時間を見つけようとしています。私はそれを機能させましたが、01から12の間の日付でしか機能しません.
したがって、2012-01-10
to 2012-10-10
(10 日) のように、データベースから正しい合計時間数が得られます。
しかし、(14 日)に書き込む2012-01-10
と、エラーが発生します。2012-14-10
char データ型を datetime データ型に変換すると、範囲外になりました」
前もって感謝します。
PS。日付を取得する簡単な方法を提案できますか?
mySQL クエリ
string CommandText = "SELECT * FROM date_test WHERE id = '4' AND date BETWEEN '" + dt1 + "' AND '" + dt2 + "'";
私は問題を理解しましたが、解決策ではありません。
問題は、SQL データベースが形式を調べて yyyy-MM-dd を要求することですが、C# では yyyy-dd-MM しか送信できません。
ParseExact()
yyyy-MM-ddができないのはなぜですか?