
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, 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