SQL Server - Ayuda URGENTE POR FAVOR

   
Vista:

Ayuda URGENTE POR FAVOR

Publicado por sergio (1 intervención) el 28/12/2011 20:37:50
Hola Mi consulta es la siguiente.

Realice un FUNCTION para capturar los tiempos de produccion por dia y maquina.
create FUNCTION Hora_preparacion_Mr(
@maquina int,
@fecha datetime) RETURNS datetime AS

BEGIN
DECLARE @diferencia_hora datetime


SELECT @diferencia_hora = CONVERT(VARCHAR,DATEDIFF(n,CONVERT(DATETIME,'1900-01-01 00:00:00.0'),convert(datetime,SUM(CONVERT(numeric(25,15),FIN_PROCESO - inicio_proceso)))) / 60) + ':'+ right('00' + CONVERT(VARCHAR,DATEDIFF(n,CONVERT(DATETIME,'1900-01-01 00:00:00.0'),convert(datetime,SUM(CONVERT(numeric(25,15),FIN_PROCESO - inicio_proceso)))) % 60),2)
FROM partes, det_partes
where id_parte=referencia_parte
and operacion in(101)
and fecha_parte =@fecha
and p_produccion=@maquina
group by fecha_parte

RETURN(@diferencia_hora)


END
pero al momento de llamar la FUNCTION de un select me da un error
No se permite la conversión implícita del tipo de datos datetime a int. Utilice la función CONVERT para ejecutar esta consulta
adjunto la consulta donde la llamo



SELECT fecha_parte ,p_produccion,
sum(buenos) as Eq_Buenos,
dbo.Entradas_MR(fecha_parte,p_produccion,1) as Entrada_MR,
dbo.Entradas_CP( fecha_parte,p_produccion,1) as Entrada_CP,
dbo.Hora_preparacion_Mr(fecha_parte,p_produccion) as Hrs_preparacion_Mr
from partes,det_partes
where id_parte=referencia_parte
and p_produccion=7
and fecha_parte between '20111101' and '20111130'
group by convert(datetime,fecha_parte),fecha_parte,p_produccion

Ojala me puedan ayudar

yo ejecuto la consulta sin function y resulta sin problemas

SELECT CONVERT(VARCHAR,DATEDIFF(n,CONVERT(DATETIME,'1900-01-01 00:00:00.0'),convert(datetime,SUM(CONVERT(numeric(25,15),FIN_PROCESO - inicio_proceso)))) / 60) + ':'+ right('00' + CONVERT(VARCHAR,DATEDIFF(n,CONVERT(DATETIME,'1900-01-01 00:00:00.0'),convert(datetime,SUM(CONVERT(numeric(25,15),FIN_PROCESO - inicio_proceso)))) % 60),2)
FROM partes, det_partes
where id_parte=referencia_parte
and operacion in(101)
and fecha_parte between '20111101' and '20111130'
and p_produccion=7
group by fecha_part

Espero ayuda gracias
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
Imágen de perfil de Isaias

Ayuda URGENTE POR FAVOR

Publicado por Isaias (3180 intervenciones) el 28/12/2011 22:48:53
El resultado de @diferencia_hora, es simplemente un DATEDIFF de la @fecha, que pasas como parametro vs fecha del sistema?
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

Ayuda URGENTE POR FAVOR

Publicado por Pedro (80 intervenciones) el 03/01/2012 00:08:00
Hola
O estoy muy equivocado o vos recibis en la funcion, un int y despues un date y estas llamando con un Date y despues un int

Disculpa si me equivoco
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