SQL Server Developer Center > Fóruns do SQL Server > SQL Server - Desenvolvimento Geral > Como remover preposições de um nome próprio
Fazer uma PerguntaFazer uma Pergunta
 

Discussão GeralComo remover preposições de um nome próprio

Todas as Respostas

  • sexta-feira, 6 de novembro de 2009 12:55William John Adam Trindade Medalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuário
     
    Voce diz transformar "Maria da Silva" em "Maria Silva"? Se for isso, entao use oo replace

    Replace(Nome," da ", " ")

    O melhor sera construir uma funcao para isso:

    @nome=Replace(@Nome," da ", " ")
    @nome=Replace(@Nome," de ", " ")
    @nome=Replace(@Nome," dos ", " ")
    @nome=Replace(@Nome," das ", " ")
    etc

    Eu nao me lembro de todas as preposicoes que pode ser usadas em nomes proprios :)

    Att



    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------
    Téléphone: (819) 379-3446
    Télécopieur: (819) 379-3449
    triw@sogi.com.no_spam
    ----------------------------------------------------------
    SOGI INFORMATIQUE LTÉE (http://www.sogi.com)
  • sexta-feira, 6 de novembro de 2009 13:57Heberton Melo Medalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuário
     

    Olá William John,

    Muito bom, simples e objetivo.

    Porem percebo que você utilizou aspas duplas, porem pouca gente saiba que também é permitido a utilização do mesmo, mas para isso devemos utilizar QUOTED_IDENTIFIER definido para OFF.

    Pois o mesmo permite que o SQL Server siga as regras ISO relativas às aspas que delimitam identificadores. 

    Veja exemplo que segue.

    -- UTILIZAÇÃO DE ASPAS DUPLA

    SET QUOTED_IDENTIFIER OFF

     

    -- DECLARANDO UMA VARIÁVEL

    DECLARE @Nome VARCHAR(100) = "São sei o que, mas isso da para algo."

    SET @Nome = Replace(@Nome," da ", " ")

     

    -- CONSULTA

    SELECT @Nome

    Caso tenha lhe ajudado não se esqueça de marca como útil, só assim ajudará a melhorar a qualidade do fórum.

    Heberton Melo
    MCP | MCTS em SQL Server 2008 | Projetista de Dados

    Blog:
    http://heberton-melo.spaces.live.com

  • sexta-feira, 6 de novembro de 2009 14:16William John Adam Trindade Medalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuário
     
    Olá Heberton...


    Obrigado por ter lembrado disso. Como eu programo em francês aqui, eu deixo o QUOTED_IDENTIFIER sempre off, porque a gente usa muito ' nas nossas strings. É mais facil usar o " do que ter que fazer todo tempo algo:

    DECLARE @Nome VARCHAR(100) = 'Je n''ai sais pas qu''est que c''est'

    é mais facil:
    DECLARE
    @Nome VARCHAR(100) = "Je n'ai sais pas qu'est que c'est"


    Grato

    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------
    Téléphone: (819) 379-3446
    Télécopieur: (819) 379-3449
    triw@sogi.com.no_spam
    ----------------------------------------------------------
    SOGI INFORMATIQUE LTÉE (http://www.sogi.com)
  • sexta-feira, 6 de novembro de 2009 14:32Heberton Melo Medalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuário
     

    Olá William,

    Realmente é muito mais fácil mesmo de compreender e a utilização das aspas quando 
    QUOTED_IDENTIFIER está definido para OFF.

    Caso tenha lhe ajudado não se esqueça de marca como útil, só assim ajudará a melhorar a qualidade do fórum.

    Heberton Melo
    MCP | MCTS em SQL Server 2008 | Projetista de Dados

    Blog:
    http://heberton-melo.spaces.live.com

  • sexta-feira, 6 de novembro de 2009 14:42William John Adam Trindade Medalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuário
     
    Herberton,

    Estou no Canada, mas a questao inicial é do ilanocf e nao minha. eu respondi a questao

    Grato

    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------
    Téléphone: (819) 379-3446
    Télécopieur: (819) 379-3449
    triw@sogi.com.no_spam
    ----------------------------------------------------------
    SOGI INFORMATIQUE LTÉE (http://www.sogi.com)