sql >> Base de Datos >  >> RDS >> Oracle

¿Cuál es el valor predeterminado de VARCHAR2 en Oracle?

El valor predeterminado es uno de los NLS parámetros de su sesión, a saber, NLS_LENGTH_SEMANTICS . Así es como puedo comprobarlo desde mi sesión:

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

VALUE 
------
BYTE

Puede modificar su sesión para cambiar el valor (o puede hacerlo a través de la interfaz gráfica en algo como SQL Developer). También puede poner un comando ALTER SESSION en su LOGIN.SQL (o, globalmente, GLOGIN.SQL ) si usa uno, si desea que se asigne un valor específico cada vez que inicie una sesión. De lo contrario, cuando inicie una nueva sesión, el valor predeterminado provendrá de su SPFile (lo más probable).

Así es como puedo comprobar lo que hay en mi SPFile:

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


VALUE 
------
BYTE

También puedo alterar mi sistema para cambiar lo que hay en el SPFile, pero ese es el trabajo de un DBA (creo). En cualquier caso, se PUEDE cambiar.

Esto es similar a otros NLS parámetros - considerar NLS_DATE_FORMAT por ejemplo, el comportamiento es muy similar.