Categorias

Aprenda a manipular strings com SQL Server 2008 R2

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.