yyyy texto fecha entre diferencia convertir convert sql-server-2008-r2 datetime-format

sql-server-2008-r2 - texto - diferencia entre date y datetime sql server



¿Cómo convertir el valor de fecha y hora a aaaammddhhmmss en el servidor SQL? (8)

20090320093349 SELECCIONAR CONVERTIR (VARCHAR, @ fecha, 112) + IZQUIERDA (REEMPLAZAR (CONVERTIR (VARCHAR, @ fecha, 114), '':'', ''''), 6)

¿Cómo convertir el valor de datetime y datetime a yyyymmddhhmmss ?

por ejemplo Desde 2014-04-17 13:55:12

Para 20140417135512


Desde la versión 2012 de SQL Server puede utilizar:

SELECT format(getdate(),''yyyyMMddHHmmssffff'')


Esta consulta es para convertir DateTimeOffset en el formato yyyyMMddhhss con Offset. He reemplazado los guiones, colon(:), period(.) De los datos, y he guardado el guión para la separación de Offset del DateTime .

SELECT REPLACE(SUBSTRING(CONVERT(VARCHAR(33),SYSDATETIMEOFFSET(),126), 1, 8), ''-'', '''') + SUBSTRING(REPLACE(REPLACE(REPLACE(CONVERT(VARCHAR(33), SYSDATETIMEOFFSET(), 126),''T'',''''),''.'',''''),'':'',''''),9,DATALENGTH(CONVERT(VARCHAR(33), SYSDATETIMEOFFSET(), 126)))


Esto parece funcionar:

declare @d datetime set @d = ''2014-04-17 13:55:12'' select replace(convert(varchar(8), @d, 112)+convert(varchar(8), @d, 114), '':'','''')

Resultado:

20140417135512


Otra opción que he buscado en Google, pero contiene varios reemplazar ...

SELECT REPLACE(REPLACE(REPLACE(CONVERT(VARCHAR(19), CONVERT(DATETIME, getdate(), 112), 126), ''-'', ''''), ''T'', ''''), '':'', '''')


también esto funciona también

SELECT replace(replace(replace(convert(varchar, getdate(), 120),'':'',''''),''-'',''''),'' '','''')


FORMAT() es más lento que CONVERT() . Esta respuesta es ligeramente mejor que la respuesta de @ jpx porque solo hace un reemplazo en la parte de tiempo de la fecha.

112 = yyyymmdd - no format change needed 108 = hh:mm:ss - remove : SELECT CONVERT(VARCHAR, GETDATE(), 112) + REPLACE(CONVERT(VARCHAR, GETDATE(), 108), '':'', '''')


SELECT REPLACE(REPLACE(REPLACE(CONVERT(VARCHAR(19), CONVERT(DATETIME, getdate(), 112), 126), ''-'', ''''), ''T'', ''''), '':'', '''')