top of page
  • Foto do escritorGabriel Quintella

Comandos DML - Parte 6 - SELECT - Funções Manipulação de Strings

Salve, salve meus amigos! Vamos para mais um dia de treinamento. Nesse momento de pandemia, espero que todos estejam bem e cuidando-se pois não podemos dar mole para o Corona!


No post de hoje vamos falar sobre as possibilidades de manipulação de String. Muito conteúdo, espero que gostem, pois está bem interessante!


Listo abaixo as funções que serão comentadas.


LEFT()

RIGHT()

SUBSTRING()

REPLICATE()

CONCAT()

LTIM()

RTRIM()

TRIM()

LEN()

CHARINDEX()

PATINDEX()

ISNULL()

NULLIF()

REPLACE()

SPACE()

UPPER()

LOWER()

STUFF()


Função LEFT()


A função LEFT() serve para retorna o conteúdo do lado esquerdo do texto a partir da posição passada na função.


-- # Sintaxe da Função LEFT()
LEFT ( character_expression , integer_expression ) 

Exemplo 01: Construir uma consulta para retornar as 7 posições a esquerda da coluna NM_TIPO_ELEICAO.


SELECT [NM_TIPO_ELEICAO], LEFT([NM_TIPO_ELEICAO],7) NM_TIPO_ELEICAO_L7
FROM [TESTE].[dbo].[Vagas_Disponiveis]







Função RIGHT()


A função RIGHT() é o oposto da função LEFT(), pois a função RiGHT() é usada para retornar o conteúdo do lado direito do texto a partir da posição passada na função.


-- # Sintaxe da Função RIGHT()
RIGHT ( character_expression , integer_expression )  

Exemplo 02: Construir uma consulta para retornar as 9 posições a esquerda da coluna NM_TIPO_ELEICAO.


SELECT [NM_TIPO_ELEICAO], RIGHT([NM_TIPO_ELEICAO],9) NM_TIPO_ELEICAO_R9
FROM [TESTE].[dbo].[Vagas_Disponiveis]







Função REPLACE()


A função REPLACE() é usada para substituir um conteúdo em uma coluna por outro.


-- # Sintaxe da Função REPLACE()
REPLACE ( string_expression , string_pattern , string_replacement ) 

Exemplo 03: Construir uma consulta para substituir na coluna NM_TIPO_ELEICAO o valor "Eleição Ordinária" por "Eleição Municipais".


SELECT [NM_TIPO_ELEICAO], 
REPLACE([NM_TIPO_ELEICAO],'Eleição Ordinária' , 'Eleição Municipais') NM_TIPO_ELEICAO_NOVA
FROM [TESTE].[dbo].[Vagas_Disponiveis]







Função LEN()


A função LEN() é usada para identificar o comprimento de uma expressão em caracteres.


-- # Sintaxe da Função LEN()
LEN ( string_expression )

Exemplo 04: Construir uma consulta, retornando na coluna NOM_UE_LEN a quantidade de caracteres da coluna NOM_UE.


SELECT NM_UE, LEN(NM_UE) NOM_UE_LEN
FROM [TESTE].[dbo].[Vagas_Disponiveis]







Função LOWER()


A função LOWER() é usada para transformar strings maiúsculas (uppercase) para minúsculas (lowercase).


-- # Sintaxe da Função LOWER()
LOWER ( character_expression ) 

Exemplo 05: Construir uma consulta, retornando na coluna NOM_UE_LOWER o conteúdo da coluna NOM_UE em minúsculo.


SELECT NM_UE, LOWER(NM_UE) NOM_UE_LOWER 
FROM [TESTE].[dbo].[Vagas_Disponiveis]







Função UPPER()


A função UPPER() funciona de formar contrária a função LOWER(), é usada para transformar strings minúsculas (lowercase) em maiúsculas (uppercase).


-- # Sintaxe da Função UPPER()
UPPER ( character_expression )  

Exemplo 06: Construir uma consulta, retornando na coluna DS_CARGO_UPPER o conteúdo da coluna DS_CARGO toda em maiúscula.


SELECT DS_CARGO, UPPER(DS_CARGO) DS_CARGO_UPPER
FROM [TESTE].[dbo].[Vagas_Disponiveis]







Existem 3 funções no Microsoft SQL Server que são utilizadas para remoção de espaços.


Função TRIM()


A função TRIM() remove todos os espaços em branco de uma string.


-- # Sintaxe da Função TRIM()
TRIM ( string )

Exemplo 07: Realizar uma consulta para eliminar os espaços da string ' TESTE FUNÇÃO TRIM() ' usando a função TRIM().


SELECT LTRIM('   TESTE FUNÇÃO TRIM()   ')







Função LTRIM()


A função LTRIM() remove todos os espaços em branco a esquerda de uma string.


-- # Sintaxe da Função LTRIM()
LTRIM ( character_expression )  

Exemplo 08: Realizar uma consulta para eliminar os espaços da string ' TESTE FUNÇÃO LTRIM() ' usando a função LTRIM().


SELECT LTRIM('   TESTE FUNÇÃO LRIM()   ')







Função RTRIM()


A função RTRIM() remove todos os espaços em branco a direita de uma string.


-- # Sintaxe da Função RTRIM()
RTRIM ( character_expression )  

Exemplo 09: Realizar uma consulta para eliminar os espaços da string ' TESTE FUNÇÃO LTRIM() ' usando a função RTRIM().


SELECT LTRIM('   TESTE FUNÇÃO RTRIM()   ')







Função REPLICATE()


A função REPLICATE() é usada para repetir N vezes uma sequência de caracteres especificado.


-- # Sintaxe da Função REPLICATE()
REPLICATE ( string_expression , integer_expression ) 

Exemplo 10: Realizar uma consulta para repetir 2 vezes string 'TESTE FUNÇÃO REPLICATE()' usando a função REPLICATE().


SELECT REPLICATE('TESTE FUNÇÃO REPLICATE()',2)






Função SPACE()


A função SPACE() é usada para aplicar a quantidade de espaço determinados dentro do parênteses.


-- # Sintaxe da Função SPACE()
SPACE ( integer_expression )  

Exemplo 11: Realizar uma consulta para incluir 2 espaços entre as palavras 'TESTE FUNÇÃO' e 'SPACE()' usando a função SPACE().


SELECT 'TESTE FUNÇÃO' + SPACE(2) + 'SPACE()'







Função STUFF()


A função STUFF() é usada para apagar da string “texto” a partir das posição inicial mais a quantidade de caracteres e substitui pela expressão determinada, observe a sintaxe abaixo.


-- # Sintaxe da Função STUFF()
STUFF( character_expression , start , length , replaceWith_expression ) 

Exemplo 12: Realizar uma consulta para remover da palavra "DBA" a partir da segunda posição 2 caracteres e adicionar a expressão "BAASSISTS", utilize a função STUFF().


SELECT STUFF('DBA', 2,2, 'BAASSISTS')







Função SUBSTRING()


A função SUBSTRING() é usada para retornar de uma string a informação determinada a partir da posição inicial até a quantidade de caracteres determinada, ou seja, de uma posição até uma quantidade de caracteres.


-- # Sintaxe da Função SUBSTRING()
SUBSTRING ( expression ,start , length )

Exemplo 13: Realizar uma consulta para retornar a palavra "DBAASSISTS" a palavra que é formada a partir da posição 1 indo até a posição 3, utilize a função SUBSTRING().


SELECT SUBSTRING('DBAASSISTS',1,3)






Funções PATINDEX() e CHARINDEX()


As funções são usadas para devolver a posição de uma string dentro de um texto. Se nada for encontrar, é retornado zero.


-- # Sintaxe da Função PATINDEX()
PATINDEX ( '%pattern%' , expression ) 

-- # Sintaxe da Função CHARINDEX()
CHARINDEX( expressionToFind , expressionToSearch [ , start_location ] ) 

Exemplo 14: Realizar uma consulta para retornar a posição da palavra "DB" dentro da frase "É MUITO BOM ESTUDAR DB COM DBASSISTS", utilize a função PATINDEX().


SELECT PATINDEX( '%DB%' , 'É MUITO BOM ESTUDAR DB COM DBASSISTS' ) 

Exemplo 15: Realizar uma consulta para retornar a posição da palavra "SQL" dentro da frase "Microsoft SQL Server", utilize a função CHARINDEX().


SELECT CHARINDEX('SQL', 'Microsoft SQL Server')











Vamos abrir um parêntese para apresentar uma abordagem sobre as funções CHARINDEX e PATINDEX. De forma resumida, elas basicamente fazem a mesma coisa.


  1. Retornam a posição inicial de um padrão que você especifica;

  2. PATINDEX() pode usar caracteres curingas, mas a CHARINDEX() não pode.

  3. Ambas as funções usam dois argumentos.

  4. PATINDEX(), você deve incluir sinais de porcentagem antes e depois do teste padrão, a menos que você está procurando o padrão como o primeiro (omita o primeiro%) ou os últimos (omita o último%) caracteres em uma coluna.

  5. CHARINDEX(), o padrão não pode incluir caracteres curinga. O segundo argumento é uma expressão de caracteres, geralmente um nome de coluna.


Função ISNULL()


A função ISNULL() é usada para tratar colunas com valores nulos. É possivel com o seu uso, passar um valor sempre que o selecionado for nulo.


-- # Sintaxe da Função ISNULL()
ISNULL ( check_expression , replacement_value )

Exemplo 16: Realize uma consulta na tabela VAGAS_DISPONIVEIS e todas as vezes que a coluna DS_CARGO estiver nulla, informar "NÃO INFORMADO", utilize a função ISNULL().


SELECT ISNULL(DS_CARGO, 'NÃO INFORMADO') DS_CARGO , * 
FROM dbo.Vagas_Disponiveis







Iremos abordar nesse momento a diferença entre ISNULL() e IS NULL.


  • ISNULL() é uma função do Microsoft SQL Server que efetua a troca do valor NULL pelo caracter especificado no comando;

  • IS NULL é um operador do Microsoft SQL Server que retorna verdadeiro algum registro satisfaça a condição descrita;

  • Não use ISNULL() para localizar valores NULL, para localizar valores NULL deve-se usar o operador IS NULL.

Função NULLIF()

A função NULLIF() retornará a primeira expression se as duas expressões não forem iguais.


-- # Sintaxe da Função NULLIF()
NULLIF ( expression , expression )







Função CONCAT()


A função CONCAT() é usada para concatenar strings.


-- # Sintaxe da Função CONCAT()
CONCAT ( string_value1, string_value2 [, string_valueN ] )

Exemplo 17: Realize uma consulta para concatenar as strings , 'É MUITO ', 'BOM ', 'ESTUDAR DB' e 'COM DBASSISTS' utilize a função CONCAT().


DECLARE @A VARCHAR(10)  = 'É MUITO ',
		@B VARCHAR(10)  = 'BOM ',
		@C VARCHAR(10)  = 'ESTUDAR DB',
		@D VARCHAR(10)  = 'COM DBASSISTS'

SELECT CONCAT(@A, @B, @C, @D)







Novamente vamos abrir outro parêntese para falar da função CONCAT().

A função CONCAT() é mais simples de ser utilizada do que o operador de concatenação (+) por dois importantíssimos motivos:


  • Ela ignora dados nulos;

DECLARE @A VARCHAR(10)  = 'É MUITO ',
		@B VARCHAR(10)  = NULL,
		@C VARCHAR(10)  = 'ESTUDAR DB',
		@D VARCHAR(10)  = 'COM DBASSISTS'

SELECT CONCAT(@A, @B, @C, @D)

  • Ela concatena diferentes tipos de dados sem necessitar de conversão.


DECLARE @A VARCHAR(10)  = 'DBASSISTS ',
		@B VARCHAR(10)  = 'É NOTA ',
		@C INT  = 10

SELECT CONCAT(@A, @B, @C)

Observação: Função disponível a partir da versão 2012 ou em versões posteriores.


Links de Referência:



233 visualizações0 comentário

Posts recentes

Ver tudo

Comments


bottom of page