2

デフォルトでは、SQL Serverには「英語(米国)」に設定された言語が付属しており、日付形式を希望する日付形式ではなくmm/dd/yyに設定します。これはオーストラリアであり、ddなどの日付形式があります/mm/yy.

Server Management Studio / 構成ツールに、SQL Server のロケールを設定できるオプションがあります。これにより、DateTime フィールドが米国の日付形式でフォーマットされなくなりますか

そうでない場合、次のようなSQLクエリを使用しているときにどのように変換できますか(構文が正しくない場合はご容赦ください。その場で作成しました):

Dim dc As New SqlCommand("INSERT INTO hello VALUES (@Date)", cn)
dc.Parameters.Add(New SqlParameter("Date", System.DateTime.Now))

よろしくお願いします。:)

4

2 に答える 2

2

各ユーザーのデフォルトの言語/ロケールは、SQL Management Studio から設定できます (Security フォルダーの下を見てください)。

そして、SET LANGUAGE コマンド (日付形式を変更するだけの場合は SET DATEFORMAT) を使用して、特定の接続に対してこれをオーバーライドします。

SQL Management Studio で既定の言語 (新規ユーザーに使用) を設定することもできます。サーバーを右クリックし、[プロパティ]、[詳細設定]、[既定の言語] の順に選択します。

于 2008-10-16T11:30:37.697 に答える
0

「ダウンアンダー」のフォーマットが何であるかわかりません

dd/mm/yyyy hh:mm:ss ?

はいの場合、その日付は英国/フランスの注釈であるため、次のことを行う必要があります。

INSERT INTO hello VALUES convert(datetime, @Date + ' 00:00:00', 103)

また

INSERT INTO hello VALUES convert(datetime, @Date, 103)

実際に時間を置くと

詳細については、MSDN の Books online をチェックして正しいコード番号を取得してください。

Selects でも、SQL に何が含まれていても、常にこれを使用します (Hosting SQL を使用する傾向があり、フォーマットを変更できないため)。

SELECT myColumn FROM myTable WHERE myDateField >= convert(datetime, @Date + '00:00:00', 103)

それが役に立てば幸い

于 2008-10-16T11:30:02.580 に答える