How to flip month and day in datetime?

How can I flip " 2012-12-01 12: 33: 00.0" to become " 2012-01-12 12: 33: 00.0"? I tried "select convert (varchar (50), convert (datetime, log_date, 103), 121)" and used both 101 and 103 and still could not flip it.

Database is MS SQL

+3
source share
2 answers
DECLARE @date DATETIME
SET DATEFORMAT ydm
SET @date = '2012-12-01 12:33:00.0'
SELECT @date

SET DATEFORMAT ydm will give you the result in the required format.

Another variant

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

OR

select convert(datetime, convert(varchar(100), @date), 20)
+2
source

You can just do some string manipulation (NOTE: Unfulfilled code)

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'
0
source

All Articles