Lista de funciones de cadena
Más funciones que la fecha y la hora: solo el tipo String. Que en SQL está dado por los tipos CHAR (n) y VARCHAR (n). Recordemos los más populares de ellos:
Función | Descripción | |
---|---|---|
1 | LONGITUD (cadena) | Devuelve la longitud de la cadena pasada en bytes |
2 | CHAR_LENGTH(cadena) | Devuelve la longitud de la cadena pasada en caracteres |
3 | LOCALIZAR(subcadena,cadena), | Busca una subcadena en una cadena similar al método indexOf() |
4 | LOCALIZAR(subcadena,cadena,pos) | Busca una subcadena en una cadena que comienza en pos |
5 | CONCAT(cadena1,cadena2,...) | Concatena varias líneas |
6 | SUBSTR(), SUBCADENA() | Devuelve una subcadena dada por un rango de caracteres |
7 | INFERIOR(cadena) | Convierte una cadena a minúsculas |
8 | SUPERIOR (str) | Convierte una cadena a mayúsculas |
9 | REEMPLAZAR() | Reemplaza una subcadena en una cadena |
10 | FÓSFORO() | Comprueba si una cadena coincide con un patrón dado |
once | TRIM(cadena) | Recorta los caracteres vacíos al principio y al final de una cadena |
12 | LTRIM(cadena) | Recorta los caracteres vacíos al principio de una cadena |
13 | RTRIM(cadena) | Recorta los caracteres vacíos al final de una cadena |
14 | TO_BASE64(cadena) | Convierte una cadena a Base64 |
15 | DESDE_BASE64(cadena) | Convierte una cadena de Base64 |
Agrupé deliberadamente las funciones en pequeños grupos para que sea más fácil entender cómo trabajar con ellas. A continuación consideraremos una función de cada grupo. Puede encontrar una lista completa de funciones para trabajar con cadenas en la documentación oficial .
Convirtamos la cadena
Primero tratemos con las funciones más simples que simplemente convierten una cadena a una forma ligeramente diferente. Por ejemplo, convertir una cadena a mayúsculas y minúsculas. En general, su comportamiento es similar a las mismas funciones en el lenguaje Java.
Así que solo daré una tabla con algunos ejemplos.
# | Pedido | Resultado |
---|---|---|
1 | SELECCIONE LONGITUD ('texto') | 4 |
2 | SELECCIONE LONGITUD ('Hola') | 12 |
3 | SELECCIONE INFERIOR ('Hola') | Hola |
4 | SELECCIONA SUPERIOR ('Hola') | HOLA |
5 | SELECCIONE SUBSTR ('Hola', 2, 3) | riv |
6 | SELECT SUBSTR ('Hola, ¿cómo estás?', 8) | ¿Cómo estás? |
Las funciones funcionan como se esperaba, al igual que sus contrapartes del JDK.
La única salvedad: en la primera línea, el resultado es 4, no 8. El caso es que se usa 1 byte (codificación ASCII) en la solicitud para codificar caracteres latinos. Pero si trabaja con datos de la base de datos, la longitud de la cadena dependerá de la configuración de codificación de la base de datos . Encontrarás muchas sorpresas mientras trabajas con la base de datos :)
Acciones complejas con cadenas
Bueno, veamos cosas más complejas al trabajar con cadenas. ¿Qué se te ocurriría...
Vamos a mostrar las tareas de la tabla de tareas, y si la fecha límite de la tarea ya pasó, agregue la palabra EXPIRED a la descripción de la tarea.
Suena interesante. Aunque todavía no hemos aprendido condiciones complejas, simplifiquemos un poco la tarea. Simplemente escribamos una consulta que muestre una lista de tareas pasadas, pero asegúrese de agregar la palabra "¡EXPIRADO!" al título. .
Para ello, tendremos que utilizar la función CONCAT:
SELECT CONCAT( 'EXPIRED! ', name) FROM task
WHERE deadline < CURDATE()
El resultado de esta consulta será:
concat('¡EXPIRADO! ', nombre) |
---|
¡VENCIÓ! Arreglar un error en la interfaz |
Recomendación. Si solo necesita convertir los datos a una forma ligeramente diferente, esto también se puede hacer a nivel de código Java. Pero si desea utilizar funciones de cadena del lado del servidor SQL (dentro de WHERE), definitivamente no puede prescindir de ellas.
GO TO FULL VERSION