Подтвердить что ты не робот

Преобразование текста и varchar (MAX) в SQL Server

У меня есть доступ только для чтения к некоторой базе данных SQL Sever 2008 R2, и мне нужно скопировать данные из некоторых своих таблиц в таблицы моей базы данных; обе базы данных имеют одинаковую сортировку.

В исходной базе данных используется много столбцов типа text datatype. Могу ли я безопасно сделать целевые столбцы в моей базе данных типа varchar(MAX) и скопировать данные без какого-либо риска (я использую инструкции INSERT для копирования данных)?

Другими словами, могу ли я безопасно скопировать данные строки из столбца типа text в столбец varchar(MAX)? Обе колонки используют одну и ту же сортировку.

4b9b3361

Ответ 1

Да, определенно - VARCHAR(MAX) - тип, который вы должны использовать в любом случае. Основная реализация обоих типов по существу одинакова (на достаточно больших данных или после изменения типа от текста до VARCHAR(MAX)), если вы беспокоитесь об этом.

Вы даже можете "преобразовать" существующий столбец типа TEXT в VARCHAR(MAX) с помощью:

ALTER TABLE dbo.YourTableHere
ALTER COLUMN YourTextColumnHere VARCHAR(MAX)

Это превратит ваш столбец TEXT в столбец VARCHAR(MAX) без потери данных.

Попробуйте! (в копию вашей существующей базы данных, конечно, конечно)