0

というテーブルがSMS_OUTBOXあり、それにはというvarchar名前DATEがあり、すでに 30,000 を超えるレコードがあり、すべてのDATEレコードは次のように保存されています: YYY-MM-DD...

それらをすべて変更したいのですMM/DD/YYYY hh:mm:ss AM/PMが、どうすればいいですか?

1つずつ実行せず2013-03-18に、現在のすべてのレコードを変更するにはどうすればよいですか。03/18/2013

使用例:

2013-09-17

私は今それをしたい:

9/17/2013 10:15:41 AM

また

9/17/2013 00:00:00

あるいは単に

9/17/2013 

時間が存在しない場合。

4

3 に答える 3

1

私があなたを正しく理解していれば(VARCHARからDATETIMEに1つの列を変換しているだけです)、これはうまくいくはずです:

ALTER TABLE table_name
ALTER COLUMN column_name DATETIME

他の机

于 2013-09-17T15:43:30.263 に答える
1

これは、組み込みの CAST および CONVERT メソッドを使用して実現できます。

最初に に変換してから、 を使用してCAST必要varchardatetime形式の に変換し直しますCONVERTvarchar

update table
set [date]= CONVERT(varchar(20),cast([date] as datetime),101)

日付形式オプションの完全なリストについては、http://technet.microsoft.com/en-us/library/ms187928.aspxも参照してください。

于 2013-09-17T15:48:09.707 に答える