я хочу сделать это без sp_rename, как я могу это изменить ..
Вы не можете.Вы можете создать новый столбец в таблице, используя новое имя, скопировать содержимое старого столбца в новый столбец, а затем удалить старый столбец (это два ALTER и ОБНОВЛЕНИЕ), но единственный способ сделать это в противном случаеis sp_rename.
Вот ссылка на документацию ALTER TABLE , где вы можете увидеть, какие опции доступны для вас.Изменение не является одним из них.
В этом разделе документации описывается, что вы можете сделать как часть предложения ALTER COLUMN в ALTER TABLE:
ALTER COLUMN column_name
{
[ type_schema_name. ] type_name [ ( { precision [ , scale ]
| max | xml_schema_collection } ) ]
[ COLLATE collation_name ]
[ NULL | NOT NULL ]
| {ADD | DROP } { ROWGUIDCOL | PERSISTED | NOT FOR REPLICATION}
}
Обратите внимание, там нет упоминания о новом имени.Итак, еще раз, чтобы повторить, вы не можете переименовать столбец, используя ALTER TABLE, в SQL Server.Если бы они реализовали стандартный синтаксис (чего у них нет), это было бы ALTER TABLE [table_name] RENAME {COLUMN} [column_name] TO [new_column_name]