4

「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 の両方を使用しましたが、まだ反転できません。

データベースはMS SQLです

4

3 に答える 3

3
DECLARE @date DATETIME
SET DATEFORMAT ydm
SET @date = '2012-12-01 12:33:00.0'
SELECT @date

SET DATEFORMAT ydm必要な形式で結果が得られます。

その他のオプション

UPDATE Table_Name
SET COLUMN_NAME= convert(varchar(20), convert(Date, @date, 101)) +  convert(varchar(30),convert(time, @date))
WHERE 

また

select convert(datetime, convert(varchar(100), @date), 20)
于 2012-04-19T09:56:07.217 に答える
0

文字列操作を実行するだけで済みます (注: テストされていないコード)。

UPDATE table
SET date=
  LEFT(CONVERT(VARCHAR(50),date,128),4) -- '2012'
  +SUBSTRING(CONVERT(VARCHAR(50),date,128),7,3) -- '-01'
  +SUBSTRING(CONVERT(VARCHAR(50),date,128),4,3) -- '-12'
  +RIGHT(CONVERT(VARCHAR(50),date,128),LEN(CONVERT(VARCHAR(50),date,128))-10) -- ' 12:33:00.0'
于 2012-04-19T10:17:43.970 に答える