Como encontrar este erro

Forum sobre SQL.

Moderador: Moderadores

Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20415
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP
Curtiram: 1 vez

Como encontrar este erro

Mensagem por JoséQuintas »

-2147467259 [MySQL][ODBC 5.3(a) Driver][mysqld-5.5.5-10.6.3-MariaDB]Incorrect datetime value: '2022' for column ``.``.`nAno` at row 92
Full SQL:
CALL ze_ContabilDiario('2022-01-01','2022-01-31');
Na linha 92 não tem nada disso.
O campo nAno é INT(11)
José M. C. Quintas
Harbour 3.2, mingw, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (Linux/Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20415
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP
Curtiram: 1 vez

Como encontrar este erro

Mensagem por JoséQuintas »

Ok, achei, troquei a lógica, mas ficou resto do anterior.
SET dFechamento := CONCAT( LPAD( YEAR( nAno ), 4, '0'), '-', LPAD( nMes, 2, '0' ), '-01' );
Year( nAno ) não dá.
José M. C. Quintas
Harbour 3.2, mingw, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (Linux/Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
carlaoonline
Usuário Nível 3
Usuário Nível 3
Mensagens: 190
Registrado em: 24 Ago 2014 22:38
Localização: Porto Alegre-RS

Como encontrar este erro

Mensagem por carlaoonline »

Boa tarde!

Segundo indica na mensagem de erro, a linha que originou o erro é essa :
JoséQuintas escreveu:CALL ze_ContabilDiario('2022-01-01','2022-01-31');
E esse erro, a principio, é desconformidade de formato de data que tenta inserir no MariaDB, normalmente em uma coluna do tipo DATETIME ou TIMESTAMP.


JoséQuintas escreveu:Na linha 92 não tem nada disso.
isso é estranho, talvez tenha alterado o fonte após o erro, daí a linha com a chamada da função mudou...
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20415
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP
Curtiram: 1 vez

Como encontrar este erro

Mensagem por JoséQuintas »

Valeu, mas eu já tinha resolvido.

Fui aproveitar parte de outra função e deixei variável errada.
YEAR( nAno ) não existe, porque nAno é INT(11).

Acabei comentendo o erro que muitos aqui cometem:
só enxerguei a parte do erro referente datetime, e não tinha isso na linha.
se tivesse enxergado a variável do erro nAno, a variável diz tudo, acho que foi isso que vi depois.

Vai ver quando é erro DOS OUTROS, a gente olha com mais calma e tranquilidade
Quando é erro nosso, é no desespero kkkk
José M. C. Quintas
Harbour 3.2, mingw, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (Linux/Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Responder