
En este tutorial, aprenderá a usar el tipo de datos VARCHAR
de SQL Server para almacenar datos de cadena de longitud variable y no Unicode.
Descripción general del tipo de datos VARCHAR
de SQL Server
El tipo de datos VARCHAR
de SQL Server se utiliza para almacenar datos de tipo cadena no Unicode de longitud variable. Lo siguiente ilustra la sintaxis:
VARCHAR(n)
En esta sintaxis, n define la longitud de la cadena que varía de 1 a 8,000. Si no especifica n, su valor predeterminado es 1.
Otra forma de declarar una columna VARCHAR
es usar la siguiente sintaxis:
VARCHAR(max)
En esta sintaxis, max define el tamaño máximo de almacenamiento que es 231-1 bytes (2 GB).
En general, el tamaño de almacenamiento de un valor VARCHAR
es la longitud real de los datos almacenados más 2 bytes.
Los sinónimos ISO de VARCHAR
son CHARVARYING
o CHARACTERVARYING
, por lo tanto, puede usarlos indistintamente.
Ejemplo de SQL Server VARCHAR
La siguiente instrucción crea una nueva tabla que contiene una columna VARCHAR
:
CREATE TABLE ewg.sql_server_varchar (
val VARCHAR NOT NULL
);
Como no especificamos la longitud de la cadena de la columna val, su valor predeterminado es uno.
Para cambiar la longitud de la cadena de la columna val, use la instrucción ALTER TABLE ALTER COLUMN:
ALTER TABLE ewg.sql_server_varchar
ALTER COLUMN val VARCHAR (10) NOT NULL;
La siguiente instrucción inserta una nueva cadena en la columna val de la tabla ewg.sql_server_varchar:
INSERT INTO ewg.sql_server_varchar (val)
VALUES ('SQL Server');
La declaración funcionó como se esperaba porque el valor de la cadena tiene una longitud igual a la definida en la definición de columna.
La siguiente declaración intenta insertar una nueva cadena de datos cuya longitud es mayor que la longitud de la cadena de la columna:
INSERT INTO ewg.sql_server_varchar (val)
VALUES
('SQL Server en Estrada Web Group');
En este caso SQL Server regresa un error y termina la ejecución:
String or binary data would be truncated.
The statement has been terminated.
Para encontrar el número de caracteres y el número de bytes de los valores almacenados en la columna VARCHAR
, use las funciones LEN
y DATALENGTH
como se muestra en la siguiente consulta:
SELECT
val,
LEN(val) len,
DATALENGTH(val) data_length
FROM
ewg.sql_server_varchar;
Resultado:
En este tutorial, ha aprendido cómo usar el tipo de datos VARCHAR
de SQL Server para almacenar datos no Unicode de longitud variable en la base de datos.