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ón Explicación
ASCII Retorno el valor ASCII del primer caracter
LTRIM Elimina espacios en blanco iniciales
SPACE Devuelve una cadena de espacios
STR Convierte un dato a tipo cadena de caracteres
CONCAT Concatena cadenas de caracteres
STUFF Inserta una cadena en otra
REPLACE Reemplaza una cadena por otra
SUBSTRING Extrae una cantidad de caracteres de una cadena
REPLICATE Repite una cadena de caracteres
LEFT Obtiene caracteres de la izquierda
REVERSE Invierte la escritura de una cadena
UPPER Convierte a mayúsculas
LEN Obtiene la longitud de la cadena
RIGHT Devuelve caracteres de la derecha
LOWER Convierte a minúsculas
RTRIM Elimina 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
select left(‘SQL Server’,5)
go
— Resultado: SQL S

— Función Right
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