Sql 如何修改varchar的大小?

Sql 如何修改varchar的大小?,sql,sql-server,sql-server-2008,sql-server-2005,Sql,Sql Server,Sql Server 2008,Sql Server 2005,我需要知道是否有任何方法可以将varchar的大小从varchar(40)修改为varchar(60),并添加此约束: (( CASE WHEN DATEDIFF(day,Date_Election_President,CURRENT_TIMESTAMP) >= 730 THEN 'NON' ELSE 'OUI' END )) 改变长度 ALTER TABLE [MyTable] ALTER COLUMN [MyColumn] VARCHA

我需要知道是否有任何方法可以将varchar的大小从
varchar(40)
修改为
varchar(60)
,并添加此约束:

(( CASE WHEN DATEDIFF(day,Date_Election_President,CURRENT_TIMESTAMP) >= 730 THEN
             'NON'
        ELSE 'OUI'
   END ))
改变长度

ALTER TABLE [MyTable]
ALTER COLUMN [MyColumn] VARCHAR(60)
至于约束,我怀疑您正在查找计算列。你应该可以这样添加它

ALTER TABLE [MyTable] 
ADD [NewColumn] AS CASE 
   WHEN DATEDIFF(day,Date_Election_President,CURRENT_TIMESTAMP) >= 730 THEN 'NON' 
   ELSE 'OUI' 
END

演示。

使用此查询并在查询板上运行它

ALTER TABLE [TableName] 
ALTER COLUMN [ColumnName] VARCHAR(60) 

tnks@Joachim Isaksson,我确实有一列需要在其中添加约束。。不新鲜column@Yassineedouiri不确定您是否真的可以有基于时间的约束,因为时间发生了变化,您可能最终得到的约束对于表中已经存在的数据是不正确的。你想用它实现什么?如果要在插入时验证该值是否正确,为什么不在插入时计算该值,而不是进行约束?