STUFF (Transact-SQL)

 

CETTE RUBRIQUE S’APPLIQUE À : ouiSQL Server (à partir de la version 2008)ouiAzure SQL DatabaseouiAzure SQL Data WarehouseouiParallel Data Warehouse

La fonction STUFF permet d'insérer une chaîne dans une autre chaîne. Elle efface d'abord le nombre de caractères spécifié dans la première chaîne à partir de la position de début. Ensuite, elle insère la seconde chaîne dans la première à partir de la position de début.

Topic link icon Conventions de la syntaxe Transact-SQL

-- Syntax for SQL Server, Azure SQL Database, Azure SQL Data Warehouse, Parallel Data Warehouse  
  
STUFF ( character_expression , start , length , replaceWith_expression )  

character_expression
Est un expression de données de type caractère. character_expression peut être une constante, une variable ou une colonne de données binaire ou caractère.

Démarrer
Entier précisant la position de départ de la suppression et de l'insertion. Si Démarrer ou longueur est négatif, une chaîne null est retournée. Si Démarrer est plus longue que la première character_expression, une chaîne null est retournée. Démarrer peut être de type bigint.

longueur
Entier spécifiant le nombre de caractères à supprimer. Si longueur est plus longue que la première character_expression, suppression s’effectue jusqu’au dernier caractère de la dernière character_expression. longueur peut être de type bigint.

replaceWith_expression
Est un expression de données de type caractère. character_expression peut être une constante, une variable ou une colonne de données binaire ou caractère. Cette expression remplacera longueur caractères de character_expression commençant à Démarrer.

Données de type caractère si character_expression est un des types de données caractères pris en charge. Retourne des données binaires si character_expression est un des types de données binaires pris en charge.

Si la valeur de la position de début ou de la longueur est négative, ou bien si la valeur de la position de début est supérieure à la longueur de la première chaîne, une chaîne NULL est retournée. Si la position de départ est 0, une valeur NULL est retournée. Si la longueur à effacer est supérieure à celle de la première chaîne, tous les caractères de la première chaîne sont effacés à partir du caractère du début.

Une erreur se produit si la valeur résultante est plus grande que le maximum pris en charge par le type retourné.

Lors de l’utilisation de classements SC, les deux character_expression et replaceWith_expression peut inclure des paires de substitution. Le paramètre de longueur comptera chaque substitut character_expression comme un caractère unique.

Dans l'exemple suivant, la procédure retourne une chaîne de caractères créée en supprimant trois caractères de la première chaîne (abcdef) à partir de la position 2 (c'est-à-dire au niveau du b) et en insérant la seconde chaîne au point de suppression.

SELECT STUFF('abcdef', 2, 3, 'ijklmn');  
GO  

Voici l'ensemble des résultats.

---------   
aijklmnef   
  
(1 row(s) affected)  

Dans l'exemple suivant, la procédure retourne une chaîne de caractères créée en supprimant trois caractères de la première chaîne (abcdef) à partir de la position 2 (c'est-à-dire au niveau du b) et en insérant la seconde chaîne au point de suppression.

SELECT STUFF('abcdef', 2, 3, 'ijklmn');  
GO  

Voici l'ensemble des résultats.

---------   
aijklmnef   
  
(1 row(s) affected)  

Types de données (Transact-SQL)
Fonctions de chaîne (Transact-SQL)

Ajouts de la communauté

AJOUTER
Afficher: