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

Rozdíl mezi VARCHAR2(10 CHAR) a NVARCHAR2(10)

Datový typ NVARCHAR2 zavedl Oracle pro databáze, které chtějí používat Unicode pro některé sloupce a zároveň zachovat jinou znakovou sadu pro zbytek databáze (která používá VARCHAR2). NVARCHAR2 je datový typ pouze Unicode.

Jedním z důvodů, proč můžete chtít použít NVARCHAR2, může být to, že vaše databáze používá znakovou sadu bez Unicode a přesto chcete mít možnost ukládat data Unicode pro některé sloupce bez změny primární znakové sady. Dalším důvodem může být, že chcete použít dvě znakové sady Unicode (AL32UTF8 pro data, která pocházejí převážně ze západní Evropy, AL16UTF16 pro data, která pocházejí například převážně z Asie), protože různé znakové sady neukládají stejná data stejně efektivně.

Oba sloupce ve vašem příkladu (Unicode VARCHAR2(10 CHAR) a NVARCHAR2(10) ) by bylo možné ukládat stejná data, ale úložiště bajtů se bude lišit. Některé řetězce mohou být uloženy efektivněji v jednom nebo druhém.

Všimněte si také, že některé funkce nebudou s NVARCHAR2 fungovat, viz tato otázka SO:

  • Oracle Text nebude fungovat s NVARCHAR2. Co dalšího může být nedostupné?


  1. SQL Server Resumable Index:Je to pro vás dobré?

  2. Instalace klienta Oracle Warehouse Builder 11g R2

  3. Jak vytvořit pohledy historie NEBO auditování z tabulek pro zachycení změn dat (CDC) na serveru SQL Server - kurz SQL Server

  4. Začínáme s replikací streamování PostgreSQL