2017-07-10 27 views
0

我想更改列的尺寸大小,以便我在存儲過程中加入這一行:存儲過程的SQL Server更改列的數據

'ALTER TABLE '+ @tname+ ' ALTER COLUMN '[email protected]+ ' nvarchar('+str(coalesce(@flength,50))+')' 

但問題是,如果列包含已數據和它們大於列的新大小會引發錯誤。我如何檢查大小> @flength的特定列中是否有數據?

回答

1

可以使用len()功能找到比@flength較大的任何列:

'Select * from ' + @tname + 'where len(' + @fieldname + ')>' + coalesce(@flength,50)) 
2

使用LEN函數來檢查你的數據的大小

SELECT * 
FROM tname 
WHERE Len(fieldname) > COALESCE(@flength, 50)