Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/11/2016, 15:12
draganus
 
Fecha de Ingreso: junio-2015
Mensajes: 38
Antigüedad: 8 años, 10 meses
Puntos: 0
duda con un tipo date en una funcion

Buenas compañero tengo una función donde ingreso tres parámetros y según esos parametros me lista las ventas según el año. cliente y tipo de comprobante de pago.
Código PHP:
IN p_fecha date,
    
IN p_cliente integer,
    
IN p_comprobante character 
Estos parámetros me sirven para llamar a unos datos ingresados desde php, en el tipo date tengo que ingresarle una fecha con el formato siguiente "2016-08-05" pero ahora quiero que en ves de una fecha completa ese tipo date solo sea el mes y el año "08-05" dejo mi consulta y espero me ayuden o me den una idea de como hacerlo.

Código PHP:
CREATE OR REPLACE FUNCTION public.fn_reporte_venta(
    
IN p_fecha date,
    
IN p_cliente integer,
    
IN p_comprobante character)
  
RETURNS TABLE(nro integerfecha datetipo character varyingcliente textporc_igv numericst numericigv numerictotal numeric) AS
$BODY$
begin
    
return query
    select v
.numero_venta,
           
v.fecha_venta,
           
tc.descripcion,
           
concat(apellido_paterno' 'apellido_materno' 'nombres) as client,
           
v.porcentaje_igv,
           
v.sub_total,
           
v.igv,
           
v.total
    from venta v 
         inner join cliente cl on v
.codigo_cliente cl.codigo_cliente
         inner join tipo_comprobante tc on v
.codigo_tipo_comprobante tc.codigo_tipo_comprobante
    where v
.estado 'E' and
          (
        case 
when p_fecha '11-11-1111' then 
            1 
1
        
else
            
v.fecha_venta p_fecha
        end
          
)
          and
          (
        case 
when p_cliente 0 then 
            1 
1
        
else
            
cl.codigo_cliente p_cliente
        end
          
) and 
          (
        case 
when p_comprobante '00' then 
            1 
1
        
else
            
tc.codigo_tipo_comprobante p_comprobante
        end
          
)
          
order by 2;
end
$BODY
$
  
LANGUAGE plpgsql VOLATILE
  COST 100
  ROWS 1000
;
ALTER FUNCTION public.fn_reporte_venta(dateintegercharacter)
  
OWNER TO postgres