0

このコードを介して:

var ciIL = CultureInfo.CreateSpecificCulture("he-IL");
var todayNow = DateTime.Now.ToString("g", ciIL );

ローカルのDateTime優先フォーマットで生成されます ( 04/07/2013 20:00)

そして、それが私が日付/時刻のWindowsローカリゼーション形式を設定する方法であり、SQL Serverで設定したいのと同じ方法です(現在、2012 SP1を使用しています)

そのため、完全に構成された SQL Server を要求するのが複雑すぎる場合は、すべての新しいデータベースを設定する必要があるアプローチに落ち着きます。したがって、設定はデータベースごとになります。

問題は、日付をdd/mm/yyyy形式で設定するとSQL によって変換されるため、Management Studio では次のように表示されます。2013-04-07 20:00

ただし、ASP.NET C# コードには次のように返されます。07/04/2013 20:00

変換メソッドを使用してクエリを実行せずに、データベースを必要な状態にしたい

現在のデータベースでの照合設定は次のとおりです。 Hebrew_100_CI_AS

サーバーは次のように設定されています: Hebrew_100_CI_AI

4

1 に答える 1

6

ASP.NET C# コードに次のように返されます: 07/04/2013 20:00

いいえ、.NET コードに として返されますDateTime。あなたがそれで何をするかはあなたのビジネスです。

固有のデータ (日付と時刻) と、選択できるテキスト表現を区別する必要があります。可能な限り組み込みデータ型を使用し、本当に必要になるまで文字列変換を避けてください。特に、パラメーター化された SQL を使用し、値をDateTimeパラメーターの値として保持します。

SQL Management Studio がデータを表示する方法を [設定] のどこかに設定できる可能性がありますが、基本的にコードには影響しません。

于 2013-07-04T18:40:10.727 に答える