sql - registros - Identifique filas donde la diferencia de tiempo entre dos columnas exceda 4 horas
sql transponer columnas a filas (2)
Deberá CONVERT
sus columnas en un valor DATETIME
y hacer un DATEDIFF()
en ellas.
Realmente debería almacenar sus valores como sus tipos de datos apropiados, ya que esto no es SARGable en absoluto.
Select *
From GXHEAD
Where DateDiff(Hour, Convert(DateTime, PRECISETIME, 103), Convert(DateTime, DEVALERT, 103)) >= 4
Tengo dos columnas en mi mesa llamadas GXHEAD. hay PRECISETIME y DEVALERT.
Tanto PRECISETIME como DEVALERT mantienen el tiempo como varchar (255) y tienen el formato "DD / MM / AAAA HH: MM: SS" (p. Ej .: "20/03/2014 14:07:11").
Me gustaría identificar todas las filas donde DEVALERT exceda PRECISETIME en 4 horas.
Puedes intentar esto:
DATEDIFF(Hour, Cast(PRECISETIME as DATETIME), Cast(DEVALERTas DATETIME)) > 4
También tenga en cuenta que es una mala práctica almacenar fechas como varchar (). Siempre debes evitar eso.
Intenta configurar esto:
set dateformat dmy