En este tutorial, veremos cómo usar funciones MySQL predefinidas para determinar la longitud de una cadena.
Los basicos
Sin sumergirse profundamente en conjuntos de caracteres, MySQL admite una amplia selección de conjuntos de caracteres. Cada conjunto de caracteres contiene una longitud máxima de bytes que puede almacenar por personaje.
Para obtener más información sobre el conjunto de caracteres compatible y su longitud máxima, use el recurso proporcionado a continuación:
https: // dev.mysql.com/doc/refman/8.0/en/charsetsets.html
En MySQL, una cadena puede estar en cualquiera de los conjuntos de caracteres compatibles. Para determinar la longitud de una cadena, puede usar el método bytes o el método de caracteres.
El método bytes devuelve la longitud de la cadena especificada en bytes. Si una cadena contiene un conjunto de caracteres de 1 byte, la longitud de la cadena es igual al número de caracteres.
Sin embargo, si la cadena especificada contiene caracteres de múltiples bytes, el número de caracteres no es igual a la longitud de la cadena.
Usando mysql caracteres_length ()
Para obtener la longitud de una cadena en los caracteres, puede usar la función caracteres_length (). Esta función es un sinónimo de la función char_length (). Funciona contando el número de caracteres en una cadena independientemente de si es un carácter de solo byte o múltiples bytes.
Tomemos la mesa del campo en la base de datos de Sakila. Para obtener la longitud de las cadenas de nombres del país, podemos usar una consulta como:
Seleccionar país, char_length (país) como longitudLa consulta anterior debe devolver la longitud de los nombres de los países.
Usando la longitud mysql ()
Para obtener la longitud de una cadena en bytes, usamos la función longitud (). En este caso, la función tiene en cuenta si es un carácter de un solo byte o múltiples bytes.
Podemos aplicar el ejemplo anterior como se muestra en la consulta a continuación:
Seleccionar país, longitud (país) como longitudEn este ejemplo, los valores están en bytes en lugar de caracteres. Dado que los ejemplos anteriores usan caracteres de un solo byte, es posible que no note la diferencia.
Sin embargo, en un carácter de múltiples bytes como el valor de Kanji para el país, los valores son diferentes.
Considere la consulta a continuación:
Seleccione char_length ('国') como longitud_in_char;Una vez que ejecutamos la consulta anterior, debemos obtener la longitud como 1.
+----------------+Considere la misma consulta usando la función Longitud ().
Seleccione la longitud ('国') como longitud_in_bytes;En este caso, la longitud es 3.
+-----------------+Conclusión
Esta guía le ha mostrado cómo usar las funciones MySQL incorporadas para obtener la longitud de una cadena en bytes y caracteres.
Gracias por leer!