SORU
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ş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Samantha Crain

    Samantha Cra

    30 EKİM 2008
  • The Brister

    The Brister

    10 ŞUBAT 2008
  • The CGBros

    The CGBros

    20 AĞUSTOS 2011