Как изменить тип данных столбца, не отбрасывая столбец с запросом? - программирование
Подтвердить что ты не робот

Как изменить тип данных столбца, не отбрасывая столбец с запросом?

У меня есть столбец с типом данных: дата и время. Но теперь я хочу преобразовать его в datatype varchar. Могу ли я изменить тип данных, не отбрасывая столбец? Если да, то, пожалуйста, объясните, как?

4b9b3361

Ответ 1

Если ALTER COLUMN не работает.

Неверно, чтобы переменный столбец терпел неудачу, потому что он не может сделать желаемое преобразование. В этом случае решение состоит в создании таблицы фиктивных таблиц TableName_tmp, скопируйте данные с помощью специализированного преобразования в массивную команду Insert, удалите исходную таблицу и переименуте таблицу tmp в исходное имя таблицы. Вам придется отбросить и воссоздать ограничения внешнего ключа, и для производительности вы, вероятно, захотите создать ключи после заполнения таблицы tmp.

Звучит много работы? На самом деле это не так.

Если вы используете SQL Server, вы можете сделать SQL Server Management Studio для вас!

Поднимите структуру таблиц (щелкните правой кнопкой мыши по таблице и выберите "Изменить" ) и внесите все ваши изменения (если преобразование столбца является незаконным, просто добавьте новый столбец - вы закроете его за мгновение). Затем щелкните правой кнопкой мыши фон в окне "Изменить" и выберите "Сгенерировать изменение Script". В появившемся окне вы можете скопировать изменение script в буфер обмена.

Отмените модификацию (в конце концов, вы захотите проверить свой script), а затем вставьте script в новое окно запроса. Измените при необходимости (например, добавьте свое преобразование, удалив поле из объявления таблицы tmp), и теперь у вас есть script, необходимый для преобразования.

Ответ 2

MSDN говорит

ALTER TABLE mytable ALTER COLUMN mycolumn newtype

Остерегайтесь ограничений предложения ALTER COLUMN, указанного в статье

Ответ 3

ALTER TABLE [table name] MODIFY COLUMN [column name] datatype

Ответ 4

ALTER TABLE YourTableNameHere ALTER COLUMN YourColumnNameHere VARCHAR(20)

Ответ 5

ALTER TABLE YourTableNameHere ALTER COLUMN YourColumnNameHere VARCHAR(20)

Ответ 6

Это просто! просто введите следующий запрос

alter table table_Name alter column column_name datatype

alter table Message alter column message nvarchar(1024);

он будет работать счастливое программирование

Ответ 7

С SQL Server 2008 и более, используя этот запрос:

ALTER TABLE [RecipeInventorys] ALTER COLUMN [RecipeName] varchar(550)

Ответ 9

ALTER TABLE [table_name] ALTER COLUMN [column_name] varchar(150)

Ответ 10

ALTER TABLE YourTableNameHere ALTER COLUMN YourColumnNameHere VARCHAR (20) идеально подходит для изменения типа данных

Ответ 11

ORACLE - изменить имя таблицы table_name (имя_столбца new_DataType);

Ответ 12

ALTER TABLE yourtable MODIFY COLUMN тип данных yourcolumn

Ответ 13

ALTER TABLE table_name
MODIFY (column_name data_type);

Ответ 14

ALTER tablename MODIFY columnName newColumnType

Я не уверен, как он будет обрабатывать изменения от datetime до varchar, поэтому вам может понадобиться переименовать столбец, добавить новый со старым именем и правильным типом данных (varchar), а затем написать обновление запрос для заполнения нового столбца из старого.

http://www.1keydata.com/sql/sql-alter-table.html

Ответ 15

alter table [table name] remove [present column name] to [new column name.