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?SQL Server Convertir Varchar a Datetime
Respuesta
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]
Solo recuerde que la variable datetime no tiene formato. Debe convertirlo a varchar si desea que se muestre en un formato determinado. – zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
datetime no tiene formato, pero debe especificar cómo reproducir el texto (donde id el día/mes ...) – Zyku
gusta esta
DECLARE @date DATETIME
SET @date = '2011-09-28 18:01:00'
select convert(varchar, @date,105) + ' ' + convert(varchar, @date,108)
'Quiero convertirlo a fecha y hora cambiando a este formato 28-09-2011 18: 01: 00.- ¿Dónde utiliza el nuevo formato? – MatBailie
Esto funciona, pero no hay necesidad de cuatro conversiones. Mire la respuesta de Diego SELECT CONVERTIR (VARCHAR (30), GETDATE(), 105) – daniloquio
Sí, la respuesta de Diego necesita cambiar varchar (10) a (30). Entonces funcionará. – daniloquio
Se podía 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)
Esto deja el tiempo – zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
@zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz tienes razón, lo arregló. – Taryn
this sitio web muestra varias opciones de formato.
Ejemplo:
SELECT CONVERT(VARCHAR(10), GETDATE(), 105)
Excepto que 105 no incluye una parte de tiempo. Y el OP comienza con una cadena, no con un horario. Este * es * útil, pero no es lo que consideraría una respuesta completa. – MatBailie
gracias por los comentarios muchachos. De hecho, solo quería apuntarlo en la dirección correcta, por eso escribí "example" – Diego
Como se ha dicho, de fecha y hora no tiene el formato/formato de representación de cadena.
Puede cambiar la salida de cadena con algo de formateo.
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 esa 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)
SELECT CONVERT(VARCHAR(10), GETDATE(), 105) + ' ' + CONVERT(VARCHAR(10), GETDATE(), 108)
usted puede tener todos los diferentes estilos de datetime conversion
:
http://www.w3schools.com/sql/func_convert.asp
Esto tiene rango de valores: -
CONVERT(data_type(length),expression,style)
Para valores de estilo,
Elija a cualquier persona que necesite l IKE I need 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 web tiene algunos buenos ejemplos para convertir cualquier varchar hasta la fecha o de fecha y hora
intentar es utilizado el siguiente
select Convert(Varchar(50),yourcolumn,103) as Converted_Date from yourtbl
- 1. Convertir varchar en datetime en SQL Server
- 2. Cómo convertir DateTime a VarChar
- 3. Convertir varchar a UNIQUEIDENTIFIER en SQL Server
- 4. Convertir .NET Ticks a SQL Server DateTime
- 5. Cómo convertir varchar a datetime en T-SQL?
- 6. SQL convertir INT a datetime
- 7. cómo convertir el hexadecimal a varchar (datetime)?
- 8. Cómo convertir Varchar a Int en sql server 2008?
- 9. SQL Server VARCHAR (10)
- 10. Milisegundos incorrectos al convertir de XML a SQL Server datetime
- 11. Convertir entre texto y varchar (MAX) en SQL Server
- 12. SQL Server datetime LIKE select?
- 13. Cómo convertir DateTime? a DateTime
- 14. T-SQL Obtenga bytes de VARCHAR sin convertir a UNICODE
- 15. Indexar varchar en MS SQL Server 2005
- 16. varchar (max) MS SQL Server 2000, ¿problemas?
- 17. VARCHAR (MAX) vs TEXT en SQL Server
- 18. SQL Server 2005 Convertir VARCHAR a INT pero predeterminado en tipo no válido
- 19. SQL Server 2005: Convertir el valor varchar '1.23E-4' a decimal falla
- 20. Cómo convertir datetime en persa en el servidor sql
- 21. Convertir número a varchar en SQL con formato
- 22. Varchar (255) a Varchar (MAX)
- 23. Cómo convertir el valor del tipo XML de SQL Server (xsi: nil) de DateTime a nulo
- 24. Extraer horas de DateTime (SQL Server 2005)
- 25. convierto HashBytes a VARCHAR
- 26. Entity Framework Asignación DateTimeOffset a SQL Server DateTime
- 27. Pasando el parámetro de C# DateTime a SQL Server 2005?
- 28. Cómo convertir una cadena "dd/mm/aaaa" a fecha y hora en SQL Server?
- 29. Cuándo utilizar VARCHAR y FECHA/DATETIME
- 30. SQL Server 2005 DateTime (return only hh: mm)
cuales RDBMS? ya que la funcionalidad de la fecha puede diferir – Hajo
@Hajo: Creo que el título básicamente lo explica – Quassnoi
@Quassnoi podría ser un servidor microsoft sql, pero no estoy 100% seguro, muchos rdbms pueden ser un servidor sql;) – Hajo