Fórum Inserir um ponto em uma string Firebird #617739
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
Curtir tópico
+ 0Post mais votado
09/03/2022
depois basta fazer (suponho que esteja usando FirebirdSQL):
1 2 | UPDATE ISSQN SET isscodigo = LEFT (isscodigo,2) || '' '' . '' '' || RIGHT (isscodigo,2) WHERE SUBSTRING (isscodigo from 3 for 1) <> '.' |
Emerson Nascimento

Gostei + 1
Mais Posts
09/03/2022
Emerson Nascimento
não é melhor fazer isso somente ao apresentar a informação?
Gostei + 0
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?
Gostei + 0
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
Gostei + 0
09/03/2022
Assis Ferreira
depois basta fazer (suponho que esteja usando FirebirdSQL):
1 2 | 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.
Gostei + 0
09/03/2022
Emerson Nascimento
1 | SELECT isscodigo, LEFT (isscodigo,2) || '.' || SUBSTRING (isscodigo from 3 for 2) novocodigo FROM ISSQN |
se tudo estiver correto, faça o update
1 | 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.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)