terça-feira, 14 de setembro de 2010.
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çõesASCIINCHARSOUNDEXPATINDEXSPACECHARINDEXQUOTENAMESTRDIFFERENCESTUFFREPLICATEREVERSEUNICODEPessoal 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.