Fórum Ajudinha no Sql #214721

17/02/2004

0

Utilizo o interbase e tenho um campo com varchar de 500 e isso faz com q ele não apareça nos meus dbgrid. por isso quero fazer um sql q mostre apenas 60 caracteres do meu campo, ex.:

Isso funcionaria no Oracle, mas no Interbase não.
Alguém sabe como pegar apenas as primeiras letras do campo?

SELECT CD_CNAE,
substr(DS_CNAE,1,60), <- Este é meu campo grande
GR_RISCO
FROM CNAE

Agradeço muito a quem puder me ajudar


Thoor Cobain

Thoor Cobain

Responder

Posts

17/02/2004

Lucas Silva

No interbase (6.0) dá sim....
Você implementou esta função no EXTERNAL FUNCTIONS?


Responder

Gostei + 0

17/02/2004

Thoor Cobain

[quote:e7060792e3=´Lucas Alves Silva´]No interbase (6.0) dá sim....
Você implementou esta função no EXTERNAL FUNCTIONS?[/quote:e7060792e3]

Teste direto pelo interbase e acusou este erro:

Dynamic SQL Error
SQL error code = -804
Function unknown
SUBSTR
Statement: SELECT CD_CNAE,
substr(DS_CNAE,1,60) as DS_CNAE,
GR_RISCO
FROM CNAE


Responder

Gostei + 0

17/02/2004

Adilsond

Em vez de:

substr(DS_CNAE,1,60) as DS_CNAE

experimente utilizar:

CAST(DS_CNAE AS CHAR(60)) as DS_CNAE
ou
SUBSTRING(DS_CNAE FROM 1 FOR 60) as DS_CNAE


Responder

Gostei + 0

17/02/2004

Thoor Cobain

Em vez de: substr(DS_CNAE,1,60) as DS_CNAE experimente utilizar: CAST(DS_CNAE AS CHAR(60)) as DS_CNAE ou SUBSTRING(DS_CNAE FROM 1 FOR 60) as DS_CNAE




Graaaaaaaaaaaaaaaaaande amigo, deu certo, eu estava precisando muito disto, obrigado !!! :mrgreen: :mrgreen: :mrgreen: :mrgreen:


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar