2011-12-07 22 views
1

Eventテーブルのデータ型がDateTimestart_dateという列があります。 C#アプリケーションの日付は07/12/2011のように表示され、テーブルに保存されたときは2011-08-12 11:00:00.000のようになります。SQL Server 2008 R2の日付形式

この形式の日付を上記の代わりに2011-12-08 11:00:00.000のように保存するにはどうすればよいですか?

私はSQL Serverでストアドプロシージャ/関数を使用していません。代わりにEntity Frameworkを使用しています。私はその日付を上記のようにフォーマットして保存したい。

誰でもどうぞ。

+0

日付が2011-12-08 11:00:00.000として保存されることをどのように知っていますか?あなたはデータベースやC#アプリでどこでそれを見ますか? –

+0

私は、なぜ回答者の中の文字列を参照している人がなぜ起きているのか分かりません。 Entity Fr.にフィールドを設定したことがはっきりと明記されています。文字列から遠い地平にある日時に。もちろん、SQL Manのようなものです。スタジオは文字列として日付を表示します。 私はSQL Server 2008 R2自体に問題がありました。なぜなら、私の日付を12/08/2011(dd/mm/yyyy)に、08/12/12として保管していたからです。 CONVERT()を使用してSQL Serverに強制的に権限を与えなければなりませんでした。 EFからどうやってやるのがよいのでしょうか? – Celdor

答えて

2

SQL Serverのdatetimeは、文字列ベースの形式で格納されません。これは数値の8バイト値として格納されます。

表示される文字列の表現は、言語/地域の設定によって定義される既定の表現、およびSQL Serverの日付形式の設定です。

0

私の知る限りではありません。また、SQL Server 2008を使用している場合は、date,time、およびdatetime2のデータ型を検討してください。 datetimeshortdatetimeのデータ型は主に下位互換性のために存在します。

2

日付はSQL Serverに文字列として格納されません。これは、Management Studioや、テーブル内のデータを表示するために使用しているアプリケーションが提示している方法です。通常、年月日の順番は言語と文化の設定によって決まります。

あなたが望むのであれば、SET DATEFORMATをデフォルトで使いこなすことはできますが、日付が実際にどのように表示され、どのように解釈されるかは変わりません。

関連する問題