Como Cortar String em SQL? (igual copy(string,x,y) delphi)

Firebird

06/04/2005

Preciso converter um arquivo e estou fazendo um insert puxando dados através de um select.

Ex:
INSERT INTO TABELA1 (NOME,CIDADE,CONTATO) VALUES
select CLI.´Nome´, CID.´Nome´, CLI.´Contato´

from ´Cliente´ CLI left join ´Cidade´ CID

on CLI.IDCIDADE = CID.´IdCidade´


Só q os campos nome da cidade e contato são maiores que na tabela de destino. Existe algum comando para cortar a string no select igual ao copy(string,xy) do delphi?


Anfm

Anfm

Curtidas 0

Melhor post

Raserafim

Raserafim

06/04/2005

vc pode utilizar o comando substring, que é igual ao copy(string,x,y) do delphi. a sintaxe que muda um pouco:
substring(nomedocampo from x for y)



GOSTEI 1

Mais Respostas

Gandalf.nho

Gandalf.nho

06/04/2005

Tente usar dar um CAST para um tamanho menor de VARCHAR


GOSTEI 0
Anfm

Anfm

06/04/2005

Não funcionou...tem q instalar alguma UDF?

qdo tento executar este comando, recebo o erro de Function Unknown.

Já tentei
substring(Nome from 1 for 15), substring(Nome,1,15)

e sempre dá a mesma msg.

Este erro acontece no Firebird 1.5 e no Interbase 6.0


GOSTEI 0
Gandalf.nho

Gandalf.nho

06/04/2005

Paar começar a função SUBSTRING só existe nativamente no FB 1.5, no IB 6 vc vai ter que usar UDF


GOSTEI 0
Raserafim

Raserafim

06/04/2005

anfm, uso o firebird 1.5 e não preciso de nenhuma UDF, a função substring funciona perfeirtamente. e se procurar no forum por substring verá o mesmo dos outros colegas.


GOSTEI 0
POSTAR