Fórum Porque não consigo usar o substring? #366663
03/12/2008
0
select * from empresa where substring(nrcgc from 12 for 4) = 0001
Na verdade quero comparar duas tabelas com o numero do cnpj, só que uma tem ponto e o traço separando e a outra não tem
select a.*, b.nrcgc from funcionarios a, empresa b where b.nrcgc = a.cnpj
Ou seja o que esta na tabela B esta com mascara e tenho que retira-la para fazer o where funcionar, mais apenas na hora de comparar, e não retirar (apagar da tabela)
Adriano_servitec
Curtir tópico
+ 0Posts
03/12/2008
Adriano_servitec
Depois que eu conectei o ibexpert de novo consegui fazer como precisava
select a.*, b.nrcgc from funcionarios a, empresa b where ( substring(b.nrcgc from 1 for 2)|| substring(b.nrcgc from 4 for 3)|| substring(b.nrcgc from 8 for 3)|| substring(b.nrcgc from 12 for 4)|| substring(b.nrcgc from 17 for 2) ) = a.cnpj
Mais tenho um problema e não tenho idéia ainda como resolver
Alem de CNPJ tenho CEI com mascaras assim
202.120.410-17
Como resolver isso?
Será que tem como fazer por um case? Ou iIf?
Outra pergunta, Pq simplesmente o IBExpert mostrava o erro acima citado?
Grato pela ajuda de todos.
Gostei + 0
03/12/2008
Adriano_servitec
Código:
select a.*, b.nrcgc, case when (b.nrcgc < 18) then substring(b.nrcgc from 1 for 3)|| substring(b.nrcgc from 5 for 3)|| substring(b.nrcgc from 9 for 3)|| substring(b.nrcgc from 12 for 2) else substring(b.nrcgc from 1 for 2)|| substring(b.nrcgc from 4 for 3)|| substring(b.nrcgc from 8 for 3)|| substring(b.nrcgc from 12 for 4)|| substring(b.nrcgc from 17 for 2) end as TCnpj_CEI from funcionarios a, empresa b where TCnpj_CEI = a.cnpj
Sei que isso não funciona, mais preciso de alguma idéia, alguém pode me ajudar?
Gostei + 0
03/12/2008
Adriano_servitec
Gostei + 0
05/12/2008
Luiz Henrique
cara, por que voce nao cria uma UDF tipo SONUMERO(b.nrcgc) para trazer somente numeros...
Gostei + 0
06/12/2008
Adriano_servitec
cara, por que voce nao cria uma UDF tipo SONUMERO(b.nrcgc) para trazer somente numeros...[/quote:2c88687064]Ola Luiz Henrique, blz, bom amigo, não queria usar UDF, pensei em alguma função do FB 2.0 tipo TRIM ou outro, mais não consegui ainda :D
Obrigado amigo.
Gostei + 0
06/12/2008
Luiz Henrique
?
para uma consulta deste tipo, no SQL, penso que nao tem escape de uma funcao externa, quando não existe dentro do Banco.
Gostei + 0
07/12/2008
Adriano_servitec
?
para uma consulta deste tipo, no SQL, penso que nao tem escape de uma funcao externa, quando não existe dentro do Banco.[/quote:418990291f]E ai Luiz Henrique, blz.
Ok entendi, mais não queria usar por não saber como criar a UDF e também como chama-la no banco. Então continuo parado nisso ainda.
Obrigado pela ajuda amigo.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)