Funções para posições

Funções para manipular dados no SQL Server

Ana Voicu

Data Engineer

Funções de posição

  • LEN()
  • CHARINDEX()
  • PATINDEX()
Funções para manipular dados no SQL Server

LEN()

Definição

  • Retorna a quantidade de caracteres da string informada.

Sintaxe

LEN(character_expression)

Funções para manipular dados no SQL Server

Exemplo de LEN() - parâmetro constante

SELECT LEN('Do you know the length of this sentence?') AS length
|length|
|------|
|40    |
Funções para manipular dados no SQL Server

Exemplo de LEN() - parâmetro de coluna

SELECT DISTINCT TOP 5 
    bean_origin, 
    LEN(bean_origin) AS length
FROM ratings;
|bean_origin             |length|
|------------------------|------|
|Toscano Black           |13    |
|Trinite                 |7     |
|Ocumare- Puerto Cabello |23    |
|Maracaibo- El Rosario   |21    |
|Madagascar              |10    |
Funções para manipular dados no SQL Server

CHARINDEX()

Definição

  • Procura uma expressão de caracteres em uma string.
  • Retorna a posição inicial.

Sintaxe

CHARINDEX (expression_to_find, expression_to_search [, start_location])

Funções para manipular dados no SQL Server

Exemplo de CHARINDEX()

SELECT 
 CHARINDEX('chocolate', 'White chocolate is not real chocolate'),
 CHARINDEX('chocolate', 'White chocolate is not real chocolate',10),
 CHARINDEX('chocolates', 'White chocolate is not real chocolate');
|position beginning|position in string|position of non-existing exp|
|------------------|------------------|----------------------------|
|7                 |29                |0                           |
Funções para manipular dados no SQL Server

PATINDEX()

Definição

  • Semelhante a CHARINDEX()

  • Retorna a posição inicial de um padrão em uma expressão

Sintaxe

PATINDEX ('%pattern%', expression, [location ])

Funções para manipular dados no SQL Server

Caracteres curinga

Coringa Explicação
% Corresponde a qualquer sequência de qualquer tamanho (inclusive vazia)
_ Corresponde a um único caractere
[ ] Corresponde a qualquer caractere dentro dos colchetes [ ] (por exemplo, [abc] corresponde a a, b ou c)
Funções para manipular dados no SQL Server

Exemplo de PATINDEX()

SELECT 
  PATINDEX('%chocolate%', 'White chocolate is not real chocolate') AS position1,
  PATINDEX('%ch_c%', 'White chocolate is not real chocolate') AS position2;

|position1|position2|
|---------|---------|
|7        |7        |
Funções para manipular dados no SQL Server

Vamos praticar!

Funções para manipular dados no SQL Server

Preparing Video For Download...