Mysql
 sql >> Base de données >  >> RDS >> Mysql

Quel est l'équivalent LEN() dans MySQL ?

Dans SQL Server, vous pouvez utiliser le LEN() fonction pour renvoyer le nombre de caractères dans une chaîne. Il s'agit d'une fonction Transact-SQL qui peut également être utilisée dans les bases de données Azure.

Dans MySQL, vous devez utiliser le CHAR_LENGTH() fonction.

Exemples

Voici un exemple de chacun.

SQL Server (T SQL)

SELECT LEN('Cat') AS 'T-SQL';

Résultat :

T-SQL
-----
3    

MySQL

SELECT CHAR_LENGTH('Cat') AS MySQL;

Résultat :

+-------+
| MySQL |
+-------+
|     3 |
+-------+

Attention aux blancs à la fin !

Une différence entre ces fonctions réside dans la manière dont elles traitent les blancs de fin (par exemple, les espaces à la fin de la chaîne). LEN() de T-SQL la fonction exclut blancs à la fin, tandis que CHAR_LENGTH() de MySQL la fonction inclut eux.

Donc, si nous ajoutons des blancs de fin aux exemples précédents, nous obtenons ce qui suit.

SQL Server (T SQL)

SELECT LEN('Cat ') AS 'T-SQL';

Résultat :

T-SQL
-----
3    

MySQL

SELECT CHAR_LENGTH('Cat ') AS MySQL;

Résultat :

+-------+
| MySQL |
+-------+
|     4 |
+-------+

Si vous devez exclure les blancs de fin dans MySQL, vous devrez envelopper la chaîne dans un TRIM() une fonction. Comme ceci :

SELECT CHAR_LENGTH(TRIM('Cat ')) AS 'MySQL with TRIM';

Résultat :

+-----------------+
| MySQL with TRIM |
+-----------------+
|               3 |
+-----------------+

Mais ne vous inquiétez pas des blancs en tête !

Les deux LEN() de T-SQL fonction et CHAR_LENGTH() de MySQL fonction inclure blancs en tête.

SQL Server (T SQL)

SELECT LEN(' Cat') AS 'T-SQL';

Résultat :

T-SQL
-----
4     

MySQL

SELECT CHAR_LENGTH(' Cat') AS 'MySQL';

Résultat :

+-------+
| MySQL |
+-------+
|     4 |
+-------+