Marcelo França Posted November 28, 2012 Report Share Posted November 28, 2012 Olá a todos, o script abaixo esta dando erro na linha onde tem '0101' e '0102', e mesmo colocando ' não funciona. me ajudem por favorset @pedido := 'PP-00025421/12';update vendadet set natureza = 5.403 where sittrib = 010 and numero = @pedido;update vendadet set sittrib = 0102 natureza = 5.403 and numero = @pedido;update vendadet set natureza = 5.102 where sittrib = 020 and numero = @pedido;update vendadet set sittrib = 0101 natureza = 5.102 and numero = @pedido;update vendadet set natureza = 5.405 where sittrib = 060 and numero = @pedido;update vendadet set sittrib = 0102 natureza = 5.405 and numero = @pedido; Quote Link to comment Share on other sites More sharing options...
0 Denis Courcy Posted November 29, 2012 Report Share Posted November 29, 2012 Olá a todos, o script abaixo esta dando erro na linha onde tem '0101' e '0102', e mesmo colocando ' não funciona. me ajudem por favorset @pedido := 'PP-00025421/12';update vendadet set natureza = 5.403 where sittrib = 010 and numero = @pedido;update vendadet set sittrib = 0102 natureza = 5.403 and numero = @pedido;update vendadet set natureza = 5.102 where sittrib = 020 and numero = @pedido;update vendadet set sittrib = 0101 natureza = 5.102 and numero = @pedido;update vendadet set natureza = 5.405 where sittrib = 060 and numero = @pedido;update vendadet set sittrib = 0102 natureza = 5.405 and numero = @pedido;Campos numericos com ZERO na frente são representações de bases numéricas diferentes. Neste caso base OCTAL.A representação de números em bases decimais se faz SEM zeros na frente.Outra coisa, o número 5.405 não é 5mil 405. é 5,405. Quote Link to comment Share on other sites More sharing options...
0 Marcelo França Posted December 3, 2012 Author Report Share Posted December 3, 2012 Mas 0101 e 0102 não são números decimais são códigos fiscais e no sistema esta cadastrado com 4 dígitos, se eu coloca no sistema manualmente ele aceita, mas pelo SQL-front ele não aceita. Quote Link to comment Share on other sites More sharing options...
0 Danilo C Posted December 3, 2012 Report Share Posted December 3, 2012 sittrib é de que tipo?creio que vá precisar utilizar o tipo varchar. Inteiro ele vai remover os zeros.Caso não possa alterar o tipo, continue inserindo como inteiro, e no select use o LPAD:SELECT LPAD( sittrib, 4, '0') FROM tableO que a função faz é adicionar X zeros no lado esquerdo, até que o campo possua 4 numeros.Ex:valor do campo: 102select LPAD(102, 4, '0')me retornará 0102 Quote Link to comment Share on other sites More sharing options...
0 Denis Courcy Posted December 4, 2012 Report Share Posted December 4, 2012 Uma outra possibilidade é modificar o atributo para que contenha a cláusula ZEROFIL. Zerofil preenche zeros a esquerda de números inteiros. Quote Link to comment Share on other sites More sharing options...
Question
Marcelo França
Olá a todos, o script abaixo esta dando erro na linha onde tem '0101' e '0102', e mesmo colocando ' não funciona. me ajudem por favor
set @pedido := 'PP-00025421/12';
update vendadet set natureza = 5.403 where sittrib = 010 and numero = @pedido;
update vendadet set sittrib = 0102 natureza = 5.403 and numero = @pedido;
update vendadet set natureza = 5.102 where sittrib = 020 and numero = @pedido;
update vendadet set sittrib = 0101 natureza = 5.102 and numero = @pedido;
update vendadet set natureza = 5.405 where sittrib = 060 and numero = @pedido;
update vendadet set sittrib = 0102 natureza = 5.405 and numero = @pedido;
Link to comment
Share on other sites
4 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.