SQL - parte de un campo

 
Vista:

parte de un campo

Publicado por david (19 intervenciones) el 27/12/2004 20:23:39
que sentencia coloco para tomar solo una parte de un campo datetime es decir, este es el campo

20/12/04 6:03:35

quiero extraer solo el campo de la hora y determinar el maximo de archivos a cada hora, es decir, cuantos archivos hay a las 6 cuantos a las 7 cuantos a los 8 y ver cual es el mayor???

se puede esto????
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:parte de un campo

Publicado por Isaías Islas (5072 intervenciones) el 27/12/2004 20:49:22
Tomar parte de un campo DATETIME

SELECT DATEPART(HH, '20/12/04 6:03:35') AS HORA.

Cuando menciona ARCHIVOS, ¿A cuales se refiere?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:parte de un campo

Publicado por david (19 intervenciones) el 27/12/2004 21:05:37
lo que quiero es sacar el numero de llamadas maximas en una hora en un determinado sitio, es decir, hay un estado en la base de datos es 'MR'

entonces necesito saber el numero maximo de llamadas en ese estado para ese dia... siendo un campo datetime medijeron que separa la hora y esas cosas, pero asi me enredo mas...

gracias de antemano
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:parte de un campo

Publicado por Isaías Islas (5072 intervenciones) el 27/12/2004 23:45:05
Simplemente, cambie el nombre de la tabla y el de la columna fecha, debe funcionar:

SELECT TOP 1 DATEPART(HH, MyColFecha), Count(MyColFecha)
FROM MyTable
WHERE MyColFecha > '2004-12-23'
GROUP BY DATEPART(HH, MyColFecha)
ORDER BY 2 DESC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:parte de un campo

Publicado por david (19 intervenciones) el 28/12/2004 19:28:51
gracias brother....pero... si la quiero de forma automatica que me genere el de el dia anterior yo coloco esto:

SELECT top 1 DATEPART(HH, starttime), Count(starttime) FROM pico
WHERE starttime = DATEADD(DD, -1, GETDATE()) and estado = 'MR'
GROUP BY DATEPART(HH, starttime) ORDER BY 2 DESC

y nada.... que esta mal???

y disculpa!

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:parte de un campo

Publicado por Liliana (426 intervenciones) el 29/12/2004 12:22:38
David, tené en cuenta que los campos datetime de SQL son eso, fecha y hora, al menos hasta la próxima versión.
Así que lo que no funciona es que estás comparando tu dato con getdate, y ambos tienen hora.
La solución es un CONVERT en el WHERE:

SELECT top 1 Hora = DATEPART(HH, starttime), Cantidad = Count(starttime)
FROM pico
WHERE CONVERT(CHAR(8), starttime, 112) = CONVERT(CHAR(8), DATEADD(DD, -1, GETDATE()), 112) and estado = 'MR'
GROUP BY DATEPART(HH, starttime) ORDER BY 2 DESC

Liliana.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar