如何将“2012- 12-01 12:33:00.0”翻转为“2012- 01-12 12:33:00.0”?我曾尝试过“选择转换(varchar(50),convert(datetime,log_date,103),121)”并使用了101和103,仍然无法翻转它。
数据库是MS SQL
答案 0 :(得分:2)
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)
答案 1 :(得分: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'