Вы можете использовать execute
для выполнения динамического запроса, как показано ниже
DECLARE @query NVARCHAR(1000) =''
SET @query = 'Select * from a where something = 123 and ('
+ (SELECT clause
FROM [table]
WHERE id = 1)
+ ')'
EXECUTE @query
ALTER TABLE TableName
ALTER COLUMN ColumnName NVARCHAR(200) [NULL | NOT NULL]
РЕДАКТИРОВАНИЕ Как отмеченный ПУСТОЙ УКАЗАТЕЛЬ/NOT NULL должно было быть определено, см. ответ Rob также.
Не забывайте nullability.
ALTER TABLE <schemaName>.<tableName>
ALTER COLUMN <columnName> nvarchar(200) [NULL|NOT NULL]
Используйте оператор таблицы Alter.
Alter table TableName Alter Column ColumnName nvarchar(100)