STUFF
y para qué se usa?
STUFF
es una función de manipulación de cadenas que permite insertar una subcadena en una posición específica de otra cadena, reemplazando opcionalmente un número de caracteres existente. La función toma una cadena de entrada, la posición donde se desea insertar o reemplazar, el número de caracteres a eliminar y la subcadena a insertar.
Se usa comúnmente para:
STUFF
STUFF ( string_expression, start, length, insert_string )
string_expression
: La cadena de texto que se va a modificar.
start
: La posición inicial donde se realizará la inserción (la primera posición es 1).
length
: El número de caracteres a eliminar a partir de start
. Si se establece en 0, no se elimina nada.
insert_string
: La cadena que se va a insertar en la posición especificada.
STUFF
SELECT STUFF('Hola Mundo', 6, 5, 'SQL Server');
Resultado:
Hola SQL Server
En este ejemplo, STUFF
comienza en la posición 6 de la cadena original (Hola Mundo
), elimina 5 caracteres (Mundo
) y los reemplaza con SQL Server
.
SELECT STUFF('ABCDEF', 4, 0, '123');
Resultado:
ABC123DEF
Aquí, STUFF
inserta 123
en la posición 4 sin eliminar ningún carácter, ya que length
se estableció en 0.
SELECT STUFF('123456789', 4, 3, '');
Resultado:
123789
En este caso, STUFF
elimina 3 caracteres a partir de la posición 4, sin insertar ninguna cadena (indicada por ''
), resultando en 123789
.
Supongamos que tienes un número sin formato en una tabla y deseas darle un formato más legible:
SELECT STUFF(STUFF('1234567890', 4, 0, '-'), 8, 0, '-');
Resultado:
123-456-7890
En este ejemplo, STUFF
inserta el primer guion (-
) en la posición 4 y el segundo guion en la posición 8.
start
o length
son valores negativos, STUFF
devolverá un error.
start
es mayor que la longitud de la cadena original, la función devolverá una cadena vacía.
length
es mayor que el número de caracteres restantes desde start
, STUFF
eliminará todos los caracteres restantes.
Para más información sobre STUFF
, consulta la documentación oficial de Microsoft.
Jorge García
Fullstack developer