I have a date in the following format 14/12/2015 00:00:00 and need to convert to 2015-12-14 how can I do this in SQL
?
I have a date in the following format 14/12/2015 00:00:00 and need to convert to 2015-12-14 how can I do this in SQL
?
Do this little padawan:
CONVERT (VARCHAR, CONVERT(DATETIME, dataSistema, 103), 102) AS novaData
Example: link
In documentation has some examples and explanations about the CONVERT
DECLARE @data datetime=GetDate()
SELECT concat(YEAR(@data),'-',MONTH(@data),'-',DAY(@data)) As data_convertida
The Concat function is valid only from SQL Server 2012 if you do not have this SQL use the following
SELECT cast(YEAR(@data) as varchar(4))+'-'+cast(MONTH(@data) as varchar(2))+'-'+cast(DAY(@data) as varchar(4)) As data_convertida
Note: See that in this case I used a variable of type datetime Using the DAY (), MONTH () and YEAR () functions, SQL automatically knows where to find the values for each of the values it requests in the function.
What type of variable / data you are trying to convert to this format
EDIT: After some tests I realized that the
CONVERT
function will only work if the variable that will be formatted / converted is of typeDate
.
Use the CONVERT function (type_date (size), variable, style) .
The first parameter is the data type that will be formatted, the second parameter is the variable that will convert and the third is the code of the pattern you want, in which case 111 corresponds to yyyy/mm/dd
.
CONVERT(VARCHAR(10), GETDATE(), 111);
SELECT convert(datetime, '14/12/2015 00:00:00', 103)
In MYSQL you can use DATE_FORMAT ()
Try this:
SELECT CONVERT (VARCHAR (10), GETDATE (), 120)
Or this
select date (ColumnName) from tablename