Fonctions de position

Fonctions de manipulation des données dans SQL Server

Ana Voicu

Data Engineer

Fonctions de position

  • LEN()
  • CHARINDEX()
  • PATINDEX()
Fonctions de manipulation des données dans SQL Server

LEN()

Définition

  • Renvoie le nombre de caractères de la chaîne fournie.

Syntaxe

LEN(character_expression)

Fonctions de manipulation des 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 de manipulation des données dans SQL Server

Exemple LEN() - colonne de table en paramètre

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 de manipulation des données dans SQL Server

CHARINDEX()

Définition

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

Syntaxe

CHARINDEX (expression_to_find, expression_to_search [, start_location])

Fonctions de manipulation des 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 de manipulation des données dans SQL Server

PATINDEX()

Définition

  • Similaire à CHARINDEX()

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

Syntaxe

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

Fonctions de manipulation des données dans SQL Server

Caractères génériques

Joker Explication
% Correspond à toute chaîne de toute longueur (y compris longueur nulle)
_ Correspond à un seul caractère
[ ] Correspond à n'importe quel caractère entre crochets [ ] (par exemple, [abc] correspond à a, b ou c)
Fonctions de manipulation des 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 de manipulation des données dans SQL Server

Passons à la pratique !

Fonctions de manipulation des données dans SQL Server

Preparing Video For Download...