BUSCA POR CNPJ RAIZ ??

VILMARBR 25/11/2010 13:54:39
#358209
Busca por CNPJ raiz ??
Alguém sabe explicar esta instrução abaixo, usada no local de SUBSTR, que deixa a query , pelo menos no PL/SQL mais rápida , conforme me falaram ...

SELECT CODIGO, NOME FROM TABELA WHERE CNPJ between ? * 1000000 AND ? * 1000000 + 999999

Grato
NETMANIA 25/11/2010 15:02:47
#358216
O que você quer dizer como CNPJ raiz? Você pode postar um exemplo?
VILMARBR 25/11/2010 15:53:43
#358223
CNPJ FULL:
88.999.333/0001-49

CNPJ RAIZ:
88.999.333

indicador de sucursal/filial
INDICADOR DE SUCURSAL/FILIAL
0001

DIGITO VERIFICADOR:
49

Eu não entendi exatamente a lógica da instrução que postei, mas vi que faz em menos de 1 segundo, o que o SUBSTR(CAMPO, INICIO, FIM) = VALOR faz em alguns segundos, bem rapidinho lidar só com números ....
MARCELOKROL 25/11/2010 20:19:59
#358246
Bom Vamos la.

Você não especificou qual banco de dados é. Então imaginando que seja access:
SELECT CODIGO, NOME FROM TABELA WHERE (((CNPJ) Like [Ô]*88999333*[Ô]))

Se for firebird:
SELECT CODIGO, NOME FROM TABELA WHERE (((CNPJ) Like [Ô]%88999333%[Ô]))

Este exemplo ira pesquisar o valor em qualquer parte da string.

Creio eu que se for MYSQL ou SQL SERVER, o exemplo do firebird ira funcionar corretamente, mais creio eu, pois estes bancos de dados eu não uso, e não tenho experiencia.
LLAIA 25/11/2010 21:25:49
#358250
SELECT CODIGO, NOME FROM TABELA WHERE CNPJ like [ô]88.999.333%[ô]
VILMARBR 26/11/2010 00:47:58
#358255
falei o banco sim, se é PL/SQL só pode ser oracle , heheh, se fosse T-SQL seria MS-SQL SERVER.

de qq forma, grato.
Tópico encerrado , respostas não são mais permitidas