Introducción a las funciones de cadena de MySQL

MySQL tiene varias funciones integradas para liberar a los desarrolladores de tareas simples como el formateo de cadenas y permitirles enfocarse en la solución del problema más grande. De esta forma, los desarrolladores no deben preocuparse por escribir scripts para realizar tareas simples. Las funciones integradas se encargan de eso. Los desarrolladores solo necesitan centrarse en cómo y dónde utilizar estas funciones integradas para lograr el resultado final.

Una de esas categorías de funciones integradas son las funciones de cadena MySQL. El formateo de cadenas, como la concatenación, la visualización en cierto formato, la inserción / eliminación de subcadenas, etc., a veces puede ser una tarea tediosa. Las funciones de cadena MySQL se encargan de eso por usted.

Para ilustrar varias funciones de MySQL String, primero necesitamos crear una base de datos. Se hará referencia a la siguiente base de datos en todos los ejemplos:

Funciones de cadena de MySQL

La función de cadena es fácil de usar. Aquí discutiremos cómo usar funciones de cadena en la programación MySQL con la ayuda de ejemplos

1. ASCII (str)

Devuelve el valor ASCII del carácter más a la izquierda de la cadena str .

Select FirstName, ASCII(FirstName) from Person

2. BIN (N)

Devuelve el equivalente binario de N, donde N es un Int / BigInt.

Select Phone, BIN(Phone) from Person

3. BIT_LENGTH (str)

Devuelve la longitud de la cadena str en bits.

Select FirstName, BIT_LENGTH(FirstName) from Person

4. CHAR_LENGTH (str)

Devuelve la longitud de la cadena str en caracteres.

Select FirstName, CHAR_LENGTH(FirstName) from Person

5. CONCAT (str1, str2, …., Strn)

Devuelve una cadena formada uniendo str1 a strn. Si alguna subcadena es NULL, el resultado es NULL.

Select FirstName, LastName, CONCAT(FirstName, LastName) as DisplayName from Person

6. CONCAT_WS (separador, str1, …, strn)

Devuelve una cadena concatenada separada por un separador.

Select FirstName, LastName, CONCAT_WS(' ', FirstName, LastName) as DisplayName from Person

Select FirstName, LastName, CONCAT_WS(', ', LastName, FirstName) as DisplayName from Person

7. CAMPO (str, str1, str2, …, strn)

Devuelve la posición del índice de la cadena str entre str1 a strn . Devuelve 0 si no se encuentra.

Select FirstName, LastName, FIELD('John', FirstName, LastName) as IsJohn from Person

8. FORMATO (x, D)

Formatea el número X a '#, ###, ###. ##' para mostrar. D es el número de lugares decimales. Por defecto, el formato es en-US.

Select FORMAT(Phone, 0) as Phone from Person

9. HEX (str) / UNHEX (hex_str)

Devuelve un equivalente hexadecimal de la cadena str. UNHEX devuelve la cadena real.

Select FirstName, HEX(FirstName) from Person

10. INSERTAR (str, pos, len, newstr)

Reemplaza la subcadena que comienza en la posición pos y de longitud len en la cadena de cadena con newstr.

Select FirstName, LastName, INSERT(LastName, 3, 20, FirstName) as LoginID from Person

11. INSTR (str, substr) / LOCATE (substr, str) / POSITION (substr IN str)

Devuelve la posición de la primera aparición de substr en str.

Select FirstName, INSTR(FirstName, 'oo'), LOCATE('hn', FirstName), POSITION('al' IN FirstName) from Person

12. LCASE () / LOWER () y UCASE () / UPPER ()

Convierte una cadena en minúsculas y mayúsculas.

Select FirstName, LOWER(FirstName) as Lower, UPPER(FirstName) as Upper from Person

13. IZQUIERDA (str, len) / DERECHA (str, len)

Devuelve los caracteres len más a la izquierda y a la derecha de la cadena str.

Select FirstName, LastName, CONCAT(LEFT(LastName, 3), RIGHT(FirstName, 2)) as LoginID from Person

14. LONGITUD (str) / OCTET_LENGTH (str)

Devuelve la longitud de la cadena str en bytes. Esto es muy parecido a la función CHAR_LENGTH. La diferencia viene cuando hay caracteres multibyte en la cadena.

Select CHAR_LENGTH('€'), Length('€')

Esto sucede porque el signo del euro (€) ocupa 3 bytes en la memoria.

15. LPAD (str, len, padstr) / RPAD (str, len, padstr)

Inserta una subcadena desde la posición 0 de la cadena de caracteres al principio y al final de la cadena hasta que la cadena resultante sea de caracteres len.

Select FirstName, LastName, LPAD(CONCAT_WS(' ', FirstName, LastName), Char_Length(CONCAT_WS(' ', FirstName, LastName))+Char_Length('Mr. '), 'Mr. ') as DisplayName from Person

16. LTRIM (str) / RTRIM (str) / TRIM (str)

Devuelve la cadena str después de recortar espacios en blanco desde la izquierda, derecha o ambos extremos.

Select LTRIM(' abc ') as L, RTRIM(' abc ') as R, TRIM(' abc ') as T

17. MID (str, pos, len) / SUBSTRING (str, pos, len)

Devuelve una subcadena de string str que comienza en la posición pos de la longitud len.

Select FirstName, SUBSTRING(FirstName, 2, 4) as a sub from Person

18. CITA (str)

Esta consulta cita y descomenta la cadena str. Se escapan caracteres especiales.

Select Address, QUOTE(Address) from Person

19. REPLACE (str, from_str, to_str)

Reemplaza todas las apariciones de subcadena from_str con subcadena to_str en la cadena de cadena . Es sensible a mayúsculas y minúsculas.

Select Address, REPLACE(Address, 'S', 'ss') from Person

20. REVERSE (str)

Invierte la cadena str.

Select FirstName, REVERSE(FirstName) from Person

21. ESPACIO (N)

Este es bastante divertido. Simplemente devuelve una cadena de N espacios en blanco. ¡Ahora me pregunto qué los hizo crear esta función! De todos modos, pruébalo tú mismo.

22. SUBSTR (str, pos) / SUBSTRING (str, pos) / SUBSTR (str, pos, len) / SUBSTRING (str, pos, len)

Devuelve una subcadena de la cadena str a partir de la posición pos, hasta el final si no se especifica len o de lo contrario los caracteres len. Recuerde, Index comienza desde 1 en MySQL.

Select FirstName, LastName, SUBSTR(FirstName, 2), SUBSTRING(LastName, 2, 2) from Person

23. SUBSTRING_INDEX (str, delim, count)

Devuelve una subcadena de la cadena str antes o después de la aparición del recuento del carácter delim. Si el recuento es positivo, subcadena antes de que se devuelva la aparición. Si el recuento es negativo, se devuelve una subcadena después de la aparición.

Select Address, SUBSTRING_INDEX(Address, '-', 1) as House, SUBSTRING_INDEX(Address, ', ', 1) as Street, SUBSTRING_INDEX(Address, ', ', -1) as City from Person

Conclusión - Funciones de cadena MySQL

Entonces, ¿encontraron útiles algunas de estas funciones? ¿Algo de esto te ayudó a resolver un caso de uso que tenías? Estoy seguro de que lo hacen. No solo las funciones de cadena, sino que las funciones integradas de MySQL son una excelente manera de lograr los resultados en consultas mínimas, reutilizando así el código existente y aprovechando la potencia del marco a su capacidad total.

Artículos recomendados

Esta ha sido una guía para las funciones de cadena MySQL. Aquí discutimos cómo usar la función de cadena en la programación MySQL con la ayuda de ejemplos. También puede consultar los siguientes artículos para obtener más información:

  1. Diferentes tipos de operadores MySQL
  2. ¿Cómo instalar MySQL?
  3. Comandos básicos a avanzados de MySQL.
  4. Cheat Sheet MySQL
  5. ¿Cómo implementar el comando Insertar en MySQL?