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
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
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
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
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
select REPLICATE(‘Gol… ‘,20)
go
— Obtener el valor ASCII del primer carácter
select ascii(‘Autentico’)
go
— Resultado: 65, la letra A mayúscula
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
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.
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
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
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
select left(‘SQL Server’,5)
go
— Resultado: SQL S
— Función Right
select upper(Right(rtrim(‘Base de Datos ‘),5))
go
— Resultado: DATOS
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
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
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
select REPLACE(‘Este mensaje es el original’,’e’,’3′)
go
— Resultado: 3st3 m3nsaj3 3s 3l original