Código Fonte - O melhor conteúdo para programadores

Aprenda a manipular strings com SQL Server 2008 R2

terça-feira, 14 de setembro de 2010.
autor: Carlos Andrioli
Hoje meu primeiro artigo sobre tecnologia vou mostrar como manipular textos com o SQL Server 2008 R2, pois até hoje eu não encontrei um site com bons exemplos sobre a manipulação e algo realmente útil sobre essa necessidade, vou tentar hoje mostrar isso de forma objetiva para que todos possam entender e utilizar.

Primeiro vamos falar das funções que vamos utilizar hoje durante o artigo depois demonstrarei de forma prática como utilizar essas funções utilizando o banco de dados de exemplo AdventureWorks utilizado pela Microsoft, pode ser baixado nesse link.

Funções Mais Utilizadas
  • LTRIM

  • RTRIM

  • UPPER

  • LOWER

  • LEN

  • LEFT

  • RIGHT

  • REPLACE

  • SUBSTRING


Outras Funções
  • ASCII

  • NCHAR

  • SOUNDEX

  • PATINDEX

  • SPACE

  • CHARINDEX

  • QUOTENAME

  • STR

  • DIFFERENCE

  • STUFF

  • REPLICATE

  • REVERSE

  • UNICODE


  • Pessoal acredito que não vou conseguir especificar todas as funções acima nesse artigo por isso vou dividir esse artigo em duas partes, nesse artigo vou colocar as funções mais utilizadas e na outra parte as outras funções.

    LTRIM


    Retorna os dados após limpar os espaço em branco do texto a esquerda.

    Exemplo: Na query abaixo vou consultar a tabela Person.Contact incluindo o sobrenome do contato e mais um espaço de três caracteres no inicio.
    SELECT TOP 10
    SPACE(3) + FirstName + SPACE(1) + LastName CompleteName
    FROM
    Person.Contact


    Ele irá retornar o seguinte resultado:


    Após esse retorno vamos pegar o contato do " Gustavo Achong" e vamos remover os espaços em branco dele utilizando a função LTRIM utilizando a seguinte query.
    SELECT LTRIM('   Gustavo Achong')



    Após ver o retorno pode reparar que os espaços do lado esquerdo foi removido pela função LTRIM.

    RTRIM


    Retorna os dados após limpar os espaço em branco do texto a direita.

    Exemplo: Na query abaixo vou consultar a tabela Person.Contact incluindo o sobrenome do contato e mais um espaço de três caracteres no final.
    SELECT TOP 10
    FirstName + SPACE(1) + LastName + SPACE(3) CompleteName
    FROM
    Person.Contact


    Ele irá retornar o seguinte resultado:


    Após esse retorno vamos pegar o contato do "Carla Adams " e vamos remover os espaços em branco dele utilizando a função RTRIM utilizando a seguinte query.
    SELECT RTRIM('Carla Adams   ')



    Após ver o retorno pode reparar que os espaços do lado direito foi removido pela função RTRIM.

    UPPER


    Retorna os dados em caixa alta.

    Exemplo: Na query abaixo vou consultar a tabela Person.Contact.
    SELECT TOP 10
    UPPER(FirstName) FirstName
    FROM
    Person.Contact


    Ele irá retornar o seguinte resultado:

    Sem o UPPER


    Com o UPPER


    LOWER


    Retorna os dados em caixa baixa.

    Exemplo: Na query abaixo vou consultar a tabela Person.Contact.
    SELECT TOP 10
    LOWER(FirstName) FirstName
    FROM
    Person.Contact


    Ele irá retornar o seguinte resultado:

    Sem o LOWER


    Com o LOWER


    LEN


    Retorna a quantidade de caracteres do texto.

    Exemplo: Na query abaixo vou consultar a tabela Person.Contact retornando na coluna Qtde a quantidade de caracteres da coluna FirstName.
    SELECT TOP 10
    LEN(FirstName) Qtde, FirstName
    FROM
    Person.Contact


    Ele irá retornar o seguinte resultado:



    LEFT


    Retorna o conteúdo do lado esquerdo do texto a partir da posição passada na função.

    Exemplo: Na query abaixo vou consultar a tabela Person.Contact selecionando o lado esquerdo a partir do quarto caracter.
    SELECT TOP 10
    LEFT(FirstName, 4) FirstNameLeft
    FROM
    Person.Contact


    Ele irá retornar o seguinte resultado:
    Sem o LEFT


    Com o LEFT


    RIGHT


    Retorna o conteúdo do lado direito do texto a partir da posição passada na função.

    Exemplo: Na query abaixo vou consultar a tabela Person.Contact selecionando o lado direito a partir do quarto caracter.
    SELECT TOP 10
    RIGHT(FirstName, 4) FirstNameRight
    FROM
    Person.Contact


    Ele irá retornar o seguinte resultado:
    Sem o RIGHT


    Com o RIGHT


    REPLACE


    Substitui o string pelo o parâmetro desejado.
    Exemplo: Na query abaixo vou substituir a palavra roupa por camisa.
    SELECT
    REPLACE('O rato roeu a roupa do rei de roma', 'roupa', 'camisa')


    Ele irá retornar o seguinte resultado:


    SUBSTRING


    Retorna uma parte do string passado como parâmetro, utilizando o string, o caracter inicial e o numero de caracteres que devem ser retornados.
    Exemplo: Na query abaixo vou retirar a palavra roeu que está na posição 8 do texto e tem 4 caracteres.
    SELECT
    SUBSTRING('O rato roeu a roupa do rei de roma', 8, 4)


    Ele irá retornar o seguinte resultado:


    Bom pessoal como falei para vocês no início essas são as manipulações de texto mais utilizadas hoje no SQL Server, e espero que essas informações possam ser utéis para você, no próximo artigo vou publicar as outras funções manipulações de texto do SQL Server, porém por hoje é só pessoal.


    Versão impressa gerada em
    quarta-feira, 22 de maio de 2013 em 11:45:48.
    © Código Fonte