sql >> Databasteknik >  >> RDS >> Oracle

Skillnad mellan BYTE och CHAR i kolumndatatyper

Låt oss anta att databasens teckenuppsättning är UTF-8, vilket är den rekommenderade inställningen i de senaste versionerna av Oracle. I det här fallet tar vissa tecken mer än 1 byte att lagra i databasen.

Om du definierar fältet som VARCHAR2(11 BYTE) , Oracle kan använda upp till 11 byte för lagring, men du kanske faktiskt inte kan lagra 11 tecken i fältet, eftersom vissa av dem tar mer än en byte att lagra, t.ex. icke-engelska tecken.

Genom att definiera fältet som VARCHAR2(11 CHAR) du berättar för Oracle att det kan använda tillräckligt med utrymme för att lagra 11 tecken, oavsett hur många byte det tar att lagra var och en. Ett enda tecken kan kräva upp till 4 byte.



  1. cx_Oracle:Hur kan jag ta emot varje rad som en ordbok?

  2. Är det möjligt att ändra den naturliga ordningen på kolumner i Postgres?

  3. Bästa metoder:Underhålls- och förbättringsuppgifter för Oracle Cloud

  4. Hur inaktiverar jag tillfälligt triggers i PostgreSQL?