Seleccionar filas de la base de datos por strlen


¿Hay alguna manera de seleccionar filas de tablas de base de datos donde un valor dado tiene una longitud determinada, por ejemplo, menos de 5 caracteres?

En PHP que sería strlen.

¿Hay algo similar en MySQL?

Author: mickmackusa, 2011-02-19

2 answers

SELECT * FROM table_name WHERE CHAR_LENGTH(column_name) < 5
 60
Author: Derek Prior,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-12-31 16:52:39

LENGTH("my_string") Devuelve la longitud de una cadena en bytes

SELECT * FROM table_name WHERE LENGTH(column_name) < 5

Tenga en cuenta que los caracteres pueden estar compuestos de múltiples bytes como los de UTF-8, pero funciona para conjuntos de caracteres de un solo byte como ASCII.

 7
Author: Timo Huovinen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-12-06 08:55:28