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
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')
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)
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.