Motta 645 Denunciar post Postado Novembro 14, 2005 Alguém tem alguma function para abreviar nomes em pl/sql ? Compartilhar este post Link para o post Compartilhar em outros sites
alphamek 2 Denunciar post Postado Novembro 17, 2005 Como assim Motta, abreviar nomes... Não entendi direito! Abraços, http://forum.imasters.com.br/public/style_emoticons/default/grin.gif Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Novembro 17, 2005 Preciso abreviar nomes de pessoas para que caibam num tamanho máximo. Impressão de cartão por exemplo : Epaminondas Santos do Couto Sampaio Ignacio da Silva - 52 posições Epaminondas S C Ignacio Silva - 20 posições Tenho uma em Delphi , nosso BD é em Linux , no Windows dá para uma dll com uma função exerna mas essa teria de ser em C, não poderia ser em Delphi, no Linux nem a dll, não ? Compartilhar este post Link para o post Compartilhar em outros sites
alphamek 2 Denunciar post Postado Novembro 17, 2005 Hummmmmmm.... entendi. Eu não tenho nenhuma desse jeito, porém, deve ser fácil criar uma em PL/SQL e você elimina as que você usa em DELPHI e WINDOWS. Usando uma única em PL/SQL você consegue integrar todos os ambientes.. ficará mais fácil para você. Se quizer tentar criar, eu posso te auxiliar pelo fórum, acho legal a idéia dessa função. Abraços, http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Novembro 17, 2005 O problema é que estou sem tempo ... Minha function delphi está em http://forum.devmedia.com.br/viewtopic.php...e84f701a6cbcdc9 Se alguém quiser traduzir (tendo tempo e saco) :rolleyes: http://forum.imasters.com.br/public/style_emoticons/default/sick.gif :unsure: :wacko: http://forum.imasters.com.br/public/style_emoticons/default/joia.gif :( http://forum.imasters.com.br/public/style_emoticons/default/assobiando.gif Compartilhar este post Link para o post Compartilhar em outros sites
alphamek 2 Denunciar post Postado Novembro 18, 2005 Deixa eu ter um tempinho aqui que tento fazer o milagre. Abraços, http://forum.imasters.com.br/public/style_emoticons/default/bye1.gif Compartilhar este post Link para o post Compartilhar em outros sites
Marcelo Ladeia 0 Denunciar post Postado Fevereiro 15, 2007 --Função desenvolvida para banco de dados ORACLE.create or replace function fabrev_nome( pnome in varchar2) return varchar2is --Analista: Marcelo Henrique Ladeia ( Açúcar Guarani S/A ) vInicio number; vNome Varchar2(200); vRet Varchar2(150); bContinua Boolean;begin vRet := ''; vInicio := 1; vNome := pNome; bContinua := true; while bContinua = true loop if vInicio = 1 then vRet := substr(vNome,1,instr(vNome,' ',vInicio)-1); end if; vInicio := instr(vNome,' ',vInicio)+1; if instr(vNome,' ',vInicio) <= 0 then vRet := vRet|| ' ' ||substr(vNome,vInicio); bContinua := false; else vRet := vRet|| ' ' ||substr(vNome,vInicio,1); end if; end loop; return TRIM(vRet); exception when others then raise_application_error(-20000,'Função fabrev_nome: ' || SQLERRM); end fabrev_nome;/show errors function fabrev_nome; Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Fevereiro 16, 2007 http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
MonTiLLa 1 Denunciar post Postado Fevereiro 16, 2007 Grandeee Motta!!!Rapaz, fiz um select que deve resolver o seu problema... SELECT SubStr(nome, 1, INSTR(UPPER(NOME), ' ')) || REVERSE(Trim(SubStr(REVERSE(nome), 1, INSTR(UPPER(REVERSE(NOME)), ' '))))FROM teste;Onde tiver o campo NOME no select você modifica para o campo que desejar e muda o nome da tabela tb...Fiz de acordo com oq estás precisandoEx.:O nome DANIEL CAETANO RODRIGUES ficará DANIEL RODRIGUESCriei uma função também...CREATE OR REPLACE FUNCTION abrevia_nome (pValue IN VARCHAR2) RETURN VARCHAR2 ISnome VARCHAR2(100);Saida VARCHAR2(2000);BEGIN nome := pValue; SELECT SubStr(nome, 1, INSTR(UPPER(NOME), ' ')) || REVERSE(Trim(SubStr(REVERSE(nome), 1, INSTR(UPPER(REVERSE(NOME)), ' ')))) INTO saida FROM dual; RETURN Saida;END; -- Funcao abrevia_nome/Espero que ajude!!! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Fevereiro 23, 2007 Falou Compartilhar este post Link para o post Compartilhar em outros sites