Oracle
 sql >> Database >  >> RDS >> Oracle

Qual è il valore predefinito di VARCHAR2 in Oracle?

L'impostazione predefinita è uno dei NLS parametri della tua sessione, ovvero NLS_LENGTH_SEMANTICS . Ecco come posso verificarlo dalla mia sessione:

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

VALUE 
------
BYTE

Puoi modificare la tua sessione per cambiare il valore (oppure puoi farlo tramite l'interfaccia grafica in qualcosa come SQL Developer). Puoi anche inserire un comando ALTER SESSION nel tuo LOGIN.SQL (o, globalmente, GLOGIN.SQL ) se ne utilizzi uno, se desideri assegnare un valore specifico ogni volta che avvii una sessione. Altrimenti, quando avvii una nuova sessione, l'impostazione predefinita verrà dal tuo SFile (molto probabilmente).

Ecco come posso controllare cosa c'è nel mio SFile:

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


VALUE 
------
BYTE

Posso anche alterare il mio sistema per cambiare cosa c'è in SPFile, ma questo è il lavoro di un DBA (credo). In ogni caso è modificabile.

Questo è simile ad altri NLS parametri:considera NLS_DATE_FORMAT ad esempio, il comportamento è molto simile.