DECLARE @has_column NVARCHAR(MAX), @table_name NVARCHAR(MAX), @column_name NVARCHAR(MAX), @column_type NVARCHAR(MAX)
SET @table_name = '[dbo].[recibo]'
SET @column_name = 'tiporecibo'
SELECT @has_column = COL_LENGTH(@table_name, 'tiporecibo')

SELECT @column_type = DATA_TYPE FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'recibo' AND COLUMN_NAME = 'tiporecibo'

DECLARE @sql NVARCHAR(MAX) = N'ALTER TABLE ' + @table_name + N' ALTER COLUMN ' + @column_name + N' ' + CASE WHEN(@column_type = 'nvarchar' OR @column_type = 'varchar') THEN 'NVARCHAR(255)' ELSE 'INTEGER' END + N' NULL;'

IF @has_column IS NOT NULL
    exec sp_executesql @sql