sql >> Databáze >  >> RDS >> Oracle

Rozdíl mezi BYTE a CHAR v datových typech sloupců

Předpokládejme, že znaková sada databáze je UTF-8, což je doporučené nastavení v posledních verzích Oracle. V tomto případě trvá uložení některých znaků do databáze více než 1 bajt.

Pokud pole definujete jako VARCHAR2(11 BYTE) , Oracle může použít až 11 bajtů pro úložiště, ale ve skutečnosti možná nebudete moci uložit 11 znaků do pole, protože některé z nich zabírají více než jeden bajt, např. neanglické znaky.

Definováním pole jako VARCHAR2(11 CHAR) Řeknete Oracle, že může využít dostatek místa k uložení 11 znaků, bez ohledu na to, kolik bajtů je potřeba k uložení každého z nich. Jeden znak může vyžadovat až 4 bajty.



  1. Pochopení podpory Java pro perzistenci s JPA

  2. Jak ADDTIME() funguje v MariaDB

  3. SQL dotaz na více hodnot v jedné buňce

  4. Zapomněl jsem heslo, které jsem zadal při instalaci postgresu