-1

日付値を格納する列があります。ただし、日付が間違った形式で入力された方法もあります。列の日付形式は ですがDD/MM/YYYY、日付は として取り込まれましMM/DD/YYYYた。MM/DD/YYYY値を からに変更するにはどうすればよいDD/MM/YYYYですか? たとえば、現時点では表示されており、実際には( ) として入力されているはず03/05/2012であると読み取られます。3rd May 201205/03/20125th March 2012

上記は解決しましたが、同様の質問があります。「2012-12-01 12:33:00.0」を「2012-01-12 12:33:00.0」にするにはどうすればよいですか? 「select convert(varchar(50), convert(datetime, log_date, 103), 121)」を試してみましたが、101 と 103 の両方を使用しましたが、まだ反転できません。

4

3 に答える 3

0

このconvert関数を使用して、文字列と日時値を変換できます。

Convert a DD/MM/YYYY string to a datetime: convert(datetime, value, 103)
Convert a datetime to a DD/MM/YYYY string: convert(varchar(10), value, 103)
Convert a MM/DD/YYYY string to a datetime: convert(datetime, value, 101)
Convert a datetime to a MM/DD/YYYY string: convert(varchar(10), value,  101)

これらのどれが必要かは、テーブルに日付を varchar または datetime として格納したかどうかによって異なります。

于 2012-04-19T05:53:32.203 に答える
0

日付は特定の時点として保存されますが、特別なスタイルとしては保存されません。返される方法は、データベースの言語/文化設定によって異なる場合があります。

SELECT CONVERT (...) を使用して、必要な形式を取得できると思います。いくつかの例を次に示します: http://www.sql-server-helper.com/tips/date-formats.aspx

于 2012-04-19T05:55:05.827 に答える
0

日付がどのようにあなたのコラムに入るのかわかりません。ただし、ここでは convert 関数が役立つ場合があります。

SELECT convert(datetime, '03/05/2012',103)

さまざまな日付と時刻のスタイルについては、次の msdn 記事を参照してください: http://msdn.microsoft.com/de-de/library/ms187928.aspx

お役に立てれば。

ところで:問題がテーブル自体にどのように格納されるかだけである場合は、カルチャ設定を確認する必要があります。ここでは、さまざまな sys 言語の日付形式を確認できます。

select * from sys.syslanguages
于 2012-04-19T05:48:07.007 に答える