14 Kasım 2009, CUMARTESİ
MySQL - uzunluğu() vs char_length()
length()
char_length()
arasındaki temel fark nedir?
İkili ve ikili olmayan dizeleri ile ilgili bir şey olduğunu düşünüyorum. Herhangi bir sebebi ikili dizeleri depolamak için var mı?
mysql> select length('MySQL'), char_length('MySQL');
----------------- ----------------------
| length('MySQL') | char_length('MySQL') |
----------------- ----------------------
| 5 | 5 |
----------------- ----------------------
1 row in set (0.01 sec)
CEVAP
14 Kasım 2009, CUMARTESİ
LENGTH()
uzunluğu döndürürdize bayt cinsinden ölçülür.
CHAR_LENGTH()
uzunluğu döndürürstring karakter olarak ölçülür.
Bu, çoğu karakter iki bayt kodlanmış Unicode için özellikle geçerlidir. Veya bayt sayısı değişir nerede UTF-8,. Örneğin:
select length(_utf8 '€'), char_length(_utf8 '€')
--> 3, 1
Gördüğünüz gibi Euro işareti tek bir karakter olmasına rağmen 3 bayt (UTF-8 0xE282AC
kodlanmış olarak) sahiptir.
Bunu Paylaş:
MySQL hata: anahtar uzunluğu olmadan a...
MySQL BLOB sütun içine koymak için en ...
MySQL - Nasıl dize uzunluğu ile seçin,...
MySQL ınsert NULL veya boş bir dize iç...
MySQL ile silme satır BİRLEŞTİRME SOL...