Fonctions liées aux positions

Fonctions pour manipuler les données dans SQL Server

Ana Voicu

Data Engineer

Fonctions de position

  • LEN()
  • CHARINDEX()
  • PATINDEX()
Fonctions pour manipuler les données dans SQL Server

LEN()

Définition

  • Retourne le nombre de caractères d'une chaîne donnée.

Syntaxe

LEN(character_expression)

Fonctions pour manipuler les données dans SQL Server

Exemple LEN() - paramètre constant

SELECT LEN('Do you know the length of this sentence?') AS length
|length|
|------|
|40    |
Fonctions pour manipuler les données dans SQL Server

Exemple LEN() - paramètre colonne de table

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    |
Fonctions pour manipuler les données dans SQL Server

CHARINDEX()

Définition

  • Recherche une expression de caractères dans une chaîne donnée.
  • Retourne sa position de départ.

Syntaxe

CHARINDEX (expression_to_find, expression_to_search [, start_location])

Fonctions pour manipuler les données dans SQL Server

Exemple 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                           |
Fonctions pour manipuler les données dans SQL Server

PATINDEX()

Définition

  • Semblable à CHARINDEX()

  • Retourne la position de départ d'un motif dans une expression

Syntaxe

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

Fonctions pour manipuler les données dans SQL Server

Caractères génériques

Caractère générique Explication
% Correspond à toute chaîne de toute longueur (y compris longueur zéro)
_ Correspond à un seul caractère
[ ] Correspond à tout caractère entre crochets [ ] (p. ex., [abc] correspond à a, b ou c)
Fonctions pour manipuler les données dans SQL Server

Exemple 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        |
Fonctions pour manipuler les données dans SQL Server

Passons à la pratique !

Fonctions pour manipuler les données dans SQL Server

Preparing Video For Download...