par
sharep98 » 30 mars 2007, 12:55
Une précision toutefois : LENGTH() renvoie le nombre d'OCTETS occupés par une chaîne. Ce nombre dépend du jeu de caractères utilisé (latin1, utf8, etc). Pour connaître le nombre de caractères, il faut utiliser CHAR_LENGTH().
Exemple :
Code : Tout sélectionner
CREATE TABLE t1 (name char(10) character set utf8))
INSERT INTO t1 VALUES('àùèë');
SELECT name, LENGTH(name), CHAR_LENGTH(name) FROM t1;
+------+--------------+-------------------+
| name | LENGTH(name) | CHAR_LENGTH(name) |
+------+--------------+-------------------+
| àùèë | 11 | 4 |
+------+--------------+-------------------+
1 row in set (0.00 sec)
Une précision toutefois : LENGTH() renvoie le nombre d'OCTETS occupés par une chaîne. Ce nombre dépend du jeu de caractères utilisé (latin1, utf8, etc). Pour connaître le nombre de caractères, il faut utiliser CHAR_LENGTH().
Exemple :
[code]
CREATE TABLE t1 (name char(10) character set utf8))
INSERT INTO t1 VALUES('àùèë');
SELECT name, LENGTH(name), CHAR_LENGTH(name) FROM t1;
+------+--------------+-------------------+
| name | LENGTH(name) | CHAR_LENGTH(name) |
+------+--------------+-------------------+
| àùèë | 11 | 4 |
+------+--------------+-------------------+
1 row in set (0.00 sec)
[/code]