yyyy - format sql server 2008
SQL Server Convertir Varchar a Datetime (9)
Tengo este formato de fecha: 2011-09-28 18:01:00 (en varchar), y quiero convertirlo a fecha y hora cambiando a este formato 28-09-2011 18:01:00. ¿Cómo puedo hacerlo?
Como se ha dicho, datetime no tiene formato de representación / cadena de representación.
Puede cambiar la salida de cadena con algún formato.
Para convertir su cadena a una fecha y hora:
declare @date nvarchar(25)
set @date = ''2011-09-28 18:01:00''
-- To datetime datatype
SELECT CONVERT(datetime, @date)
Da:
-----------------------
2011-09-28 18:01:00.000
(1 row(s) affected)
Para convertir eso a la cadena que desea:
-- To VARCHAR of your desired format
SELECT CONVERT(VARCHAR(10), CONVERT(datetime, @date), 105) +'' ''+ CONVERT(VARCHAR(8), CONVERT(datetime, @date), 108)
Da:
-------------------
28-09-2011 18:01:00
(1 row(s) affected)
Me gusta esto
DECLARE @date DATETIME
SET @date = ''2011-09-28 18:01:00''
select convert(varchar, @date,105) + '' '' + convert(varchar, @date,108)
Podrías hacerlo de esta manera, pero lo deja como un varchar
declare @s varchar(50)
set @s = ''2011-09-28 18:01:00''
select convert(varchar, cast(@s as datetime), 105) + RIGHT(@s, 9)
o
select convert(varchar(20), @s, 105)
Prueba el siguiente
select Convert(Varchar(50),yourcolumn,103) as Converted_Date from yourtbl
Puede tener todos los estilos diferentes para la datetime conversion
y datetime conversion
:
http://www.w3schools.com/sql/func_convert.asp
Esto tiene un rango de valores: -
CONVERT(data_type(length),expression,style)
Para valores de estilo,
Elija a cualquier persona que necesite como yo necesité 106.
Con todas las existentes, mi respuesta tiene un enlace específico al sitio de ayuda para que incluso un principiante pueda consultar. Así es como más útil
this sitio web muestra varias opciones de formato.
Ejemplo:
SELECT CONVERT(VARCHAR(10), GETDATE(), 105)
Esta web tiene algunos buenos ejemplos para convertir cualquier varchar a fecha o fecha y hora
SELECT CONVERT(Datetime, ''2011-09-28 18:01:00'', 120) -- to convert it to Datetime
SELECT CONVERT( VARCHAR(30), @date ,105) -- italian format [28-09-2011 18:01:00]
+ '' '' + SELECT CONVERT( VARCHAR(30), @date ,108 ) -- full date [with time/minutes/sec]
SELECT CONVERT(VARCHAR(10), GETDATE(), 105) + '' '' + CONVERT(VARCHAR(10), GETDATE(), 108)