O documento descreve funções de manipulação de texto no SQL Server 2008 R2, incluindo LTRIM, RTRIM, UPPER, LOWER, LEN, LEFT, RIGHT, REPLACE e SUBSTRING. Exemplos demonstram como cada função remove espaços, converte casos, retorna tamanhos/partes de strings. O autor dividirá o assunto em dois artigos focando nas funções mais e outras funções.
Manipulação de textos com SQL Server 2008 R2: Funções LTRIM, RTRIM, UPPER, LOWER, LEN, LEFT, RIGHT, REPLACE e SUBSTRING
1. 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 Outras Funções
• LTRIM • ASCII
• RTRIM • NCHAR
• UPPER • SOUNDEX
• LOWER • PATINDEX
• LEN • SPACE
• LEFT • CHARINDEX
• RIGHT • QUOTENAME
• REPLACE • STR
• SUBSTRING • 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:
Resultado da Query com LTRIM
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.
2. 1 SELECT LTRIM(' Gustavo Achong')
Resultado após o LTRIM
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:
Resultado antes do RTRIM
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 ')
Resultado após a utilização do RTRIM
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:
3. Sem o UPPER Com o UPPER
Sem o UPPER Após 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
Sem o LOWER Após 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
4. Resultado com o comando LEN
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
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
5. 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:
Resultado REPLACE
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:
Resultado SUBSTRING
Bom pessoal como falei para vocês no começo do post 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
post vou publicar as outras funções manipulações de texto do SQL Server, porém por hoje é só pessoal