Le NVARCHAR2 type de données a été introduit par Oracle pour les bases de données qui souhaitent utiliser l'Unicode pour certaines colonnes, tout en conservant un autre jeu de caractères pour le reste de la base de données (qui utilise VARCHAR2). Le NVARCHAR2 est une Unicode uniquement type de données.
Une raison pour laquelle vous souhaitez utiliser NVARCHAR2 peut-être que votre base de données utilise un caractère non-Unicode et vous voulez toujours être en mesure de stocker des données Unicode pour certaines colonnes. Une autre raison pourrait être que vous souhaitez utiliser deux jeu de caractères Unicode (AL32UTF8 pour les données qui provient principalement de l'Europe de l'ouest, al16utf16, respectivement pour les données qui provient principalement de l'Asie par exemple), parce que les différents jeux de caractères ne pas stocker les mêmes données aussi efficacement.
Les deux colonnes dans votre exemple (Unicode VARCHAR2(10 CHAR)
et NVARCHAR2(10)
) serait en mesure de stocker le même, mais dans l'octet de stockage sera différent. Certaines chaînes peuvent être stockées de manière plus efficace dans l'un ou l'autre.
Notez également que certaines fonctionnalités ne fonctionnent pas avec les NVARCHAR2, voir ce DONC, la question: