tipo texto que numeros guiones datos dato caracteres campo acepta sql sql-server sql-server-2008 tsql varchar

sql - texto - ¿Cambiar la longitud máxima de una columna varchar?



varchar acepta guiones (3)

ALTER TABLE table name modificar el table name column name COLUMN varchar ("longitud");

Estoy tratando de actualizar la longitud de una columna varchar de 255 caracteres a 500 sin perder el contenido. He eliminado y vuelto a crear tablas antes, pero nunca he estado expuesto a la declaración alter, que es lo que creo que necesito usar para hacer esto. Encontré la documentación aquí: ALTER TABLE (Transfact-SQL), sin embargo, no puedo encontrar cara o cruz.

Tengo lo siguiente hasta ahora (esencialmente nada desafortunadamente):

alter table [progennet_dev].PROGEN.LE alter column UR_VALUE_3

¿Cómo me acerco a esto? ¿Hay mejor documentación para esta declaración (hice algunas búsquedas para un enunciado de ejemplo pero salió vacío)?


Aumentar el tamaño de la columna con ALTER no perderá ningún dato:

alter table [progennet_dev].PROGEN.LE alter column UR_VALUE_3 varchar(500)

Como señala @Martin, recuerde especificar explícitamente NULL | NOT NULL NULL | NOT NULL


Necesitas

ALTER TABLE YourTable ALTER COLUMN YourColumn <<new_datatype>> [NULL | NOT NULL]

Pero recuerde especificar NOT NULL explícitamente si lo desea.

ALTER TABLE YourTable ALTER COLUMN YourColumn VARCHAR (500) NOT NULL;

Si lo dejas no especificado como abajo ...

ALTER TABLE YourTable ALTER COLUMN YourColumn VARCHAR (500);

Luego, la columna dará valores predeterminados para permitir nulos, incluso si se definió originalmente como NOT NULL . es decir, omitir la especificación en una ALTER TABLE ... ALTER COLUMN siempre se trata como.

ALTER TABLE YourTable ALTER COLUMN YourColumn VARCHAR (500) NULL;

Este comportamiento es diferente del utilizado para columnas nuevas creadas con ALTER TABLE (o en CREATE TABLE time). Allí la capacidad de nulidad predeterminada depende de la configuración ANSI_NULL_DFLT .