Condividi tramite


STUFF (Transact-SQL)

La funzione STUFF consente di inserire una stringa in un'altra stringa eliminando un numero di caratteri specificato nella posizione iniziale della prima stringa e inserendo la seconda stringa in tale posizione.

Icona di collegamento a un argomento Convenzioni della sintassi Transact-SQL

Sintassi

STUFF ( character_expression , start , length , replaceWith_expression )

Argomenti

  • character_expression
    Espressione di dati di tipo carattere. character_expression può essere una costante, una variabile o una colonna di dati di tipo carattere o binario.

  • start
    Valore intero che indica la posizione da cui iniziare le operazioni di eliminazione e inserimento. Se l'argomento start o length è negativo, viene restituita una stringa Null. Se il valore di start è più lungo della prima espressione character_expression, viene restituita una stringa Null. start può essere di tipo bigint.

  • length
    Valore intero che indica il numero di caratteri da eliminare. Se il valore di length è più lungo della prima espressione character_expression, l'eliminazione viene eseguita fino all'ultimo carattere dell'ultima espressione character_expression. length può essere di tipo bigint.

  • replaceWith_expression
    Espressione di dati di tipo carattere. character_expression può essere una costante, una variabile o una colonna di dati di tipo carattere o binario. Questa espressione sostituirà i caratteri length di character_expression a partire da start.

Tipi restituiti

Restituisce dati di tipo carattere se character_expression è un tipo di dati carattere supportato. Restituisce dati binari se character_expression è un tipo di dati binary supportato.

Osservazioni

Se la posizione iniziale o la lunghezza è negativa oppure la posizione iniziale è maggiore della lunghezza della prima stringa, viene restituita una stringa Null. Se la posizione iniziale è 0, viene restituito un valore Null. Se il numero di caratteri da eliminare è maggiore del numero di caratteri che compongono la prima stringa, l'eliminazione arriva fino al primo carattere della prima stringa.

Viene generato un errore se il valore risultante è maggiore del massimo supportato dal tipo restituito.

Caratteri supplementari (coppie di surrogati)

Quando si utilizzano le regole di confronto SC, sia character_expression che replaceWith_expression possono includere coppie di surrogati. Il parametro della lunghezza considererà ciascun surrogato in character_expression come carattere singolo.

Esempi

Nell'esempio seguente viene restituita una stringa di caratteri ottenuta eliminando tre caratteri dalla prima stringa, abcdef, a partire dalla posizione 2, in corrispondenza di b, e inserendo la seconda stringa nel punto in cui è stata eseguita l'eliminazione.

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

Set di risultati:

--------- 
aijklmnef 

(1 row(s) affected)

Vedere anche

Riferimento

Tipi di dati (Transact-SQL)

Funzioni per i valori stringa (Transact-SQL)