length - varchar sql server
varchar2(n BYTE | CHAR) predeterminado-> CHAR o BYTE (2)
El valor predeterminado será cualquiera que sea el parámetro NLS_LENGTH_SEMANTICS
establecido. De forma predeterminada, es BYTE
para ser coherente con las versiones anteriores de Oracle donde no había opción para usar semántica de longitud de caracteres. Si está definiendo su propio esquema y está usando un conjunto de caracteres de ancho variable (como AL32UTF8), le recomiendo configurar NLS_LENGTH_SEMANTICS
en CHAR porque casi siempre tuvo la intención de especificar longitudes en caracteres y no en bytes.
Estoy apoyando el código que tiene la siguiente declaración de esquema: -
create table sample (
id number Primary key,
username varchar2(100),
);
Busqué en la documentación de Oracle y varchar2 tiene dos modos de declaración varchar2 (n BYTE) y varchar2 (n CHAR). Si no especifico explícitamente BYTE o CHAR y simplemente declaro el nombre de usuario varchar2 (500), entonces se asignarán 500 BYTES o 500 ¿caracteres?
Gracias,
Puede verificar su valor actual usando la siguiente consulta:
SELECT
value
FROM
NLS_DATABASE_PARAMETERS
WHERE
parameter=''NLS_LENGTH_SEMANTICS'';