更改一个varchar列的最大长度?
我试图将255个字符的varchar列的长度更新为500,而不会丢失内容。 我之前已经删除并重新创build了表,但是我从来没有接触到alter语句,这是我相信我需要用到的。 我在这里find了这个文档: ALTER TABLE(Transfact-SQL),但是我不能使它正面或者反面 。
到目前为止,我有以下(基本上没有什么不幸):
alter table [progennet_dev].PROGEN.LE alter column UR_VALUE_3 我如何处理这个? 有没有更好的文件,这个声明在那里(我做了一些示例语句的search,但空了)?
你需要
 ALTER TABLE YourTable ALTER COLUMN YourColumn <<new_datatype>> [NULL | NOT NULL] 
 但是,如果需要,请记住指定NOT NULL 。 
 ALTER TABLE YourTable ALTER COLUMN YourColumn VARCHAR (500) NOT NULL; 
如果你没有指定如下…
 ALTER TABLE YourTable ALTER COLUMN YourColumn VARCHAR (500); 
 然后,列将默认允许空值,即使它最初定义为NOT NULL 。 即在ALTER TABLE ... ALTER COLUMN省略规范ALTER TABLE ... ALTER COLUMN总是被视为。 
 ALTER TABLE YourTable ALTER COLUMN YourColumn VARCHAR (500) NULL; 
 此行为与用ALTER TABLE (或在CREATE TABLE时间)创build的新列所使用的行为不同。 那里默认的可空性取决于ANSI_NULL_DFLT设置。 
 使用ALTER增加列大小不会丢失任何数据: 
 alter table [progennet_dev].PROGEN.LE alter column UR_VALUE_3 varchar(500) 
 正如@Martin指出的那样,记得明确指定NULL | NOT NULL NULL | NOT NULL