Funciones de cadena

Funciones de texto o cadena

Las funciones de texto en SQL Server realizan operaciones sobre cadenas de caracteres o contenido de los campos de tipo carácter y devuelven un valor de cadena o un valor entero.

Las funciones de SQL que permiten el manejo de cadenas de caracteres son:

FunciónExplicación
ASCIIRetorno el valor ASCII del primer caracter
LTRIMElimina espacios en blanco iniciales
SPACEDevuelve una cadena de espacios
STRConvierte un dato a tipo cadena de caracteres
CONCATConcatena cadenas de caracteres
STUFFInserta una cadena en otra
REPLACEReemplaza una cadena por otra
SUBSTRINGExtrae una cantidad de caracteres de una cadena
REPLICATERepite una cadena de caracteres
LEFTObtiene caracteres de la izquierda
REVERSEInvierte la escritura de una cadena
UPPERConvierte a mayúsculas
LENObtiene la longitud de la cadena
RIGHTDevuelve caracteres de la derecha
LOWERConvierte a minúsculas
RTRIMElimina los espacios en blanco del final de una cadena de caracteres

Ejemplos

Quita los espacios en blanco, reemplaza los espacios en blanco por una cadena sin caracteres.
select REPLACE(‘SQL Server Manual Profesional’,’ ‘,»)
go
— Resultado: SQLServerManualProfesional

Cuarta letra del apellido en mayúscula
SELECT Upper(SUBSTRING(Replace(‘Del Castillo’,’ ‘,»),4,1))
go
— Resultado: C

REVERSE invierte la cadena de caracteres.
select REVERSE(‘Un gestor de base de datos’)
go
— Resultado: sotad ed esab ed rotseg nU

Reemplazo de caracteres
select stuff(‘Funciones de texto y cadena’,14, 5,’Fechas y Horas’)
go
— Resultado: Funciones de Fechas y Horas y cadena

Repetir una cadena, aparece la palabra Gol con puntos suspensivos 20 veces
select REPLICATE(‘Gol… ‘,20)
go

Obtener el valor ASCII del primer carácter
select ascii(‘Autentico’)
go
— Resultado: 65, la letra A mayúscula

Elimina los espacios en blanco iniciales, Len obtiene la longitud.
select len(LTRIM(‘ Hola ‘))
go
— Resultado: 4 que son los caracteres de la palabra Hola

Elimina los espacios de la derecha
select len(rTRIM(‘ Hola ‘))
go
— Resultado: 7, antes de la palabra Hola hay 03 espacios.

Concatenar
select Upper(‘Alberto debe ‘) + ltrim(Str(800)) + Space(1) + lower(‘dólares’)
go
— Resultado: ALBERTO DEBE 800 dólares

En mayúsculas
select concat(Upper(‘Alberto debe ‘), ltrim(Str(800)) , Space(1) , lower(‘dólares’))
go

Función Left, para extrare caracteres de la izquierda
select left(‘SQL Server’,5)
go
— Resultado: SQL S

Función Right, para extrare caracteres de la derecha
select upper(Right(rtrim(‘Base de Datos ‘),5))
go
— Resultado: DATOS

Extraer caracteres, desde la posición 3 extrae 5 caracteres
SELECT SUBSTRING(‘Gestor de Negocios’,4,8)
go
— Resultado: tor de N

Desde la posición 4 extrae un carácter.
SELECT SUBSTRING(‘Comercial’,4,1)
go
— Resultado: e

Replace, reemplaza la letra a por el número 4
select REPLACE(‘Este mensaje es el original’,’e’,’3′)
go
— Resultado: 3st3 m3nsaj3 3s 3l original