Inserir um ponto em uma string Firebird
09/03/2022
0
tenho um campo chamado isscodigo do tipo string com 4 posiçoes:
o campo atual está assim xxxx
preciso que fique assim xx.xx
tentei assim.
UPDATE
ISSQN
SET
isscodigo = LEFT(isscodigo,2) || ''''.''''
WHERE
mas o retorno ficou assim: xx.
Assis Ferreira
Post mais votado
09/03/2022
depois basta fazer (suponho que esteja usando FirebirdSQL):
UPDATE ISSQN SET isscodigo = LEFT(isscodigo,2) || ''''.'''' || RIGHT(isscodigo,2) WHERE SUBSTRING(isscodigo from 3 for 1) <> '.'
Emerson Nascimento
Mais Posts
09/03/2022
Emerson Nascimento
não é melhor fazer isso somente ao apresentar a informação?
09/03/2022
Assis Ferreira
não é melhor fazer isso somente ao apresentar a informação?
Na verdade precisaria editar mesmo, tem alguma idéia melhor que a minha?
09/03/2022
Assis Ferreira
não é melhor fazer isso somente ao apresentar a informação?
Na verdade precisaria editar mesmo, tem alguma idéia melhor que a minha?
Tenho que inserir esse ponto mesmo! Tenho que enviar ele e nao queria fazer em tempo de execução. queria já deixar salvo no banco. Queria já mudar
para evitar problemas
09/03/2022
Assis Ferreira
depois basta fazer (suponho que esteja usando FirebirdSQL):
UPDATE ISSQN SET isscodigo = LEFT(isscodigo,2) || ''''.'''' || RIGHT(isscodigo,2) WHERE SUBSTRING(isscodigo from 3 for 1) <> '.'
Obrigado, deu certo. mas tive que tirar as aspas duplas ''''.''''
só deu um inesperado resultado, mas foi pq também nao mencionei aqui.
tenho campos com 3 posiçoes xxx
entao se o campo fosse 321, ele repete o o numero antes da virgula, ficando assim: 32.21
mas está bom assim
Obrigado.
09/03/2022
Emerson Nascimento
SELECT isscodigo, LEFT(isscodigo,2) || '.' || SUBSTRING(isscodigo from 3 for 2) novocodigo FROM ISSQN
se tudo estiver correto, faça o update
UPDATE ISSQN SET isscodigo = LEFT(isscodigo,2) || '.' || SUBSTRING(isscodigo from 3 for 2)
usando o substring não acontecerá a anomalia que você citou no caso de ter o campo preenchido com menos de 4 caracteres.
Clique aqui para fazer login e interagir na Comunidade :)