Infelizmente, para uma solução independente de banco de dados, você precisará saber tudo sobre a coluna. Se for usado em outras tabelas como uma chave estrangeira, eles também precisarão ser modificados.
ALTER TABLE MyTable ADD MyNewColumn OLD_COLUMN_TYPE;
UPDATE MyTable SET MyNewColumn = MyOldColumn;
-- add all necessary triggers and constraints to the new column...
-- update all foreign key usages to point to the new column...
ALTER TABLE MyTable DROP COLUMN MyOldColumn;
Para os casos mais simples (sem restrições, gatilhos, índices ou chaves), serão necessárias as 3 linhas acima. Para qualquer coisa mais complicada, pode ficar muito confuso conforme você preenche as partes ausentes.
No entanto, conforme mencionado acima, existem métodos específicos de banco de dados mais simples se você souber qual banco de dados precisa modificar com antecedência.