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 | +-------+