如何将“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
如何将“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
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)
您可以只执行一些字符串操作(注意:未经测试的代码)
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'
您可以使用 Format 函数来交换日期和月份,同时保留年份和小时:
update MyTable
set [date] =
FORMAT([date],'yyyy') + '-' +
FORMAT([date],'dd') + '-' +
FORMAT([date],'MM') + ' ' +
FORMAT([date],'hh:mm:ss')
from MyTable