2012-08-25 126 views
0

我需要知道是否有什麼辦法可以修改VARCHAR的大小從varchar(40)varchar(60)並添加這個約束:如何修改varchar的大小?

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

回答

1

要改變長度;

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 

演示here

+0

TNKS @Joachim伊薩克森,我也有,我需要添加約束在其列..沒有新列 –

+0

@Yassineedouiri不知道你可以實際上有基於時間的約束,因爲時間變化可能最終導致對錶中已有數據不適用的約束。你想用它達到什麼?如果要在插入時驗證該值是否正確,爲什麼不在插入時計算它而不是制定約束? –

+0

是的,我得到了idéetnks dudde –

0

使用此查詢和查詢主板上運行它

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