Ver Mensaje Individual
  #2  
Antiguo 01-11-2003
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Después de algunos intentos me parece que no puedes convertir un campo TIMEa un campo numérico, sólo a uno de tipo caracter.

Lo único que se me ocurre ahora es convertirlo a CHAR(8), usar SUBSTRING para separar cada parte (hora, minutos y segundos) y convertirla cada una a NUMERIC. Multiplicar la parte de horas por 3600 y la parte de minutos por 60 y sumar todas las partes para obtener el número de segundos que dura cada llamada. Sobre este resultado hacer la SUM. En resumen, algo así:

Código:

select
  extension,
  sum(
    cast(substring(cast(duracion as char(8)) from 1 for 2) as numeric)*3600 +
    cast(substring(cast(duracion as char(8)) from 4 for 2) as numeric)*60 +
    cast(substring(cast(duracion as char(8)) from 7 for 2) as numeric)
  )
from
  bdtelf
group by
  extension
Por cierto, era GROUP BY en lugar de ORDER BY.

Desde luego, una vez hecha la consulta tendrías que descomponer el número de segundos en horas, minutos y segundos.

// Saludos
Responder Con Cita