0
我需要知道是否有什麼辦法可以修改VARCHAR的大小從varchar(40)
到varchar(60)
並添加這個約束:如何修改varchar的大小?
((CASE WHEN DATEDIFF(day,Date_Election_President,CURRENT_TIMESTAMP) >= 730 THEN
'NON'
ELSE 'OUI'
END))
我需要知道是否有什麼辦法可以修改VARCHAR的大小從varchar(40)
到varchar(60)
並添加這個約束:如何修改varchar的大小?
((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
演示here。
使用此查詢和查詢主板上運行它
ALTER TABLE [TableName]
ALTER COLUMN [ColumnName] VARCHAR(60)
TNKS @Joachim伊薩克森,我也有,我需要添加約束在其列..沒有新列 –
@Yassineedouiri不知道你可以實際上有基於時間的約束,因爲時間變化可能最終導致對錶中已有數據不適用的約束。你想用它達到什麼?如果要在插入時驗證該值是否正確,爲什麼不在插入時計算它而不是制定約束? –
是的,我得到了idéetnks dudde –