Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Jorge Seiki Teruya

Data Truncated for column

Recommended Posts

Olá pessoal estou com um problema que está dificil de resolver rsrsrs

 

Criei uma Stored Procedure com os seguintes argumentos:

 

-- --------------------------------------------------------------------------------
-- SP_net_indicadores_iqi Group Routines
-- --------------------------------------------------------------------------------
DELIMITER $$

CREATE PROCEDURE `SP_net_indicadores_iqi`(IN
	 pinicio date
	,pfim    date
)

BEGIN

delete from net_iqi_calc;

insert into net_iqi_calc
select
  niq_os
 ,nic_gravidade
 ,niq_data_vistoria
 ,niq_hora_inicio
 ,niq_hora_termino
 ,niq_tipo_vistoria
 ,niq_certificacao
 ,fk_net_iqi_produto
 ,fk_sys_filiais
 ,fk_sys_funcionarios_iq
 ,fk_sys_funcionarios_tecnico
 ,fk_sys_funcionarios_supervisor
 ,fk_net_iqi_categoria
 ,fk_net_iqi
 ,nic_descricao
 ,nic_codigo
 ,nic_classificacao
 ,count(*)
from net_iqi i
inner join net_iqi_nao_conformidade c
 on i.niq_id_iqi = c.fk_net_iqi
inner join net_iqi_categoria t
 on c.fk_net_iqi_categoria = t.nic_id_categoria
where i.niq_data_vistoria between pinicio and pfim
group by niq_os, nic_gravidade;

delete from net_iqi_calc_geral;

insert into net_iqi_calc_geral
select distinct
  niq_contrato
 ,(select quantidade from net_iqi_calc i where i.niq_contrato = c.niq_contrato and i.nic_gravidade = 'G' and i.niq_data_vistoria = c.niq_data_vistoria) AS 'Grave'
 ,(select quantidade from net_iqi_calc i where i.niq_contrato = c.niq_contrato and i.nic_gravidade = 'M' and i.niq_data_vistoria = c.niq_data_vistoria) AS 'Médio'
 ,niq_data_vistoria
 ,iq.fnc_nome_completo
 ,tc.fnc_nome_completo
 ,sp.fnc_nome_completo
 ,IF((select quantidade from net_iqi_calc i where i.niq_contrato = c.niq_contrato and i.nic_gravidade = 'G' and i.niq_data_vistoria = c.niq_data_vistoria)>=1,'NÃO CONFORME',IF((select quantidade from net_iqi_calc i where i.niq_contrato = c.niq_contrato and i.nic_gravidade = 'M' and i.niq_data_vistoria = c.niq_data_vistoria)>=2,'NÃO CONFORME','CONFORME'))AS 'STATUS'
from net_iqi_calc c
inner join sys_funcionarios iq
 on iq.fnc_id_funcionario = c.fk_sys_funcionarios_iq
inner join sys_funcionarios tc
 on tc.fnc_id_funcionario = c.fk_sys_funcionarios_tecnico
inner join sys_funcionarios sp
 on sp.fnc_id_funcionario = c.fk_sys_funcionarios_supervisor;



END $$

 

 

Se eu executar as Query's na ordem, uma por uma ele não dá nenhum erro, fica do jeito que eu quero.

 

Mas se eu executar a procedure:

 

CALL SP_net_indicadores_iqi('2013-02-01','2013-02-31');

 

ou

 

CALL SP_net_indicadores_iqi(
(STR_TO_DATE('01-02-2013','%d-%m-%Y'))
,(STR_TO_DATE('30-02-2013','%d-%m-%Y'))
);
Ele gera o seguinte erro:
Data Truncated for column 'pfim' at row 1
Chequei a Stored Procedure e está nos padrões que venho fazendo até hoje, o que será que pode estar errado?

Compartilhar este post


Link para o post
Compartilhar em outros sites

vc pode ter problemas na ordenção mudando de date para varchar...

Compartilhar este post


Link para o post
Compartilhar em outros sites

vai um exemplo simples para vc testar:

 

crie uma tabela chamada datas com um campo so chamado data varchar(10);

 

inseri os valores:

 

insert into datas values('28/09/2012');
insert into datas values('28/10/212');
insert into datas values('28/11/2012');
insert into datas values('28/12/2012');
insert into datas values('29/09/2012');
insert into datas values('29/10/2012');
insert into datas values('29/11/2012');
insert into datas values('29/12/2012');
insert into datas values('30/12/2012');
 

 

rode essas 2 consultas e veja o resultado.

 

 

select * from datas order by data desc
 
select * from datas order by data asc

Compartilhar este post


Link para o post
Compartilhar em outros sites

não sei dizer rs, so fique esperto na ordenação. pq erro de truncate as vezes é erro de arredondamento de valor ou numero de caractares maior que o definido na coluna.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.