Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Qual é o valor padrão de VARCHAR2 no Oracle?


O padrão é um dos NLS parâmetros de sua sessão, ou seja, NLS_LENGTH_SEMANTICS . Aqui está como posso verificá-lo da minha sessão:
select value
from   v$nls_parameters
where  parameter = 'NLS_LENGTH_SEMANTICS'
;

VALUE 
------
BYTE

Você pode alterar sua sessão para alterar o valor (ou pode fazê-lo através da interface gráfica em algo como o SQL Developer). Você também pode colocar um comando ALTER SESSION em seu LOGIN.SQL (ou, globalmente, GLOGIN.SQL ) se você usar um, se quiser que um valor específico seja atribuído sempre que iniciar uma sessão. Caso contrário, quando você iniciar uma nova sessão, o padrão virá do seu SPFile (provavelmente).

Aqui está como posso verificar o que está no meu SPFile:
select value
from   v$parameter
where  name = 'nls_length_semantics'
;


VALUE 
------
BYTE

Eu também posso alterar meu sistema para mudar o que está no SPFile, mas isso é trabalho de um DBA (eu acho). Em qualquer caso, pode ser alterado.

Isso é semelhante a outros NLS parâmetros - considere NLS_DATE_FORMAT por exemplo, o comportamento é muito semelhante.