Oracle
 sql >> Base de données >  >> RDS >> Oracle

Quelle est la valeur par défaut de VARCHAR2 dans Oracle ?

La valeur par défaut est l'un des NLS paramètres de votre session, à savoir NLS_LENGTH_SEMANTICS . Voici comment je peux le vérifier depuis ma session :

select value
from   v$nls_parameters
where  parameter = 'NLS_LENGTH_SEMANTICS'
;

VALUE 
------
BYTE

Vous pouvez modifier votre session pour modifier la valeur (ou vous pouvez le faire via l'interface graphique dans quelque chose comme SQL Developer). Vous pouvez également mettre une commande ALTER SESSION dans votre LOGIN.SQL (ou, globalement, GLOGIN.SQL ) si vous en utilisez un, si vous souhaitez qu'une valeur spécifique soit affectée à chaque fois que vous démarrez une session. Sinon, lorsque vous démarrez une nouvelle session, la valeur par défaut viendra de votre SPFile (très probablement).

Voici comment je peux vérifier ce qu'il y a dans mon SPFile :

select value
from   v$parameter
where  name = 'nls_length_semantics'
;


VALUE 
------
BYTE

Je peux aussi modifier mon système pour changer ce qui est dans le SPFile, mais c'est le travail d'un DBA (je pense). Dans tous les cas, il PEUT être modifié.

Ceci est similaire aux autres NLS paramètres - considérez NLS_DATE_FORMAT par exemple, le comportement est très similaire.