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

Преобразование nvarchar в bigint в Sql server 2008

Я хочу вставить все строки таблицы в другую таблицу, и я также хочу преобразовать поле nvarchar в bigint, но когда я использую convert(bigint, col1), SQL Server показывает ошибку:

Ошибка преобразования типа данных nvarchar to bigint

Как я могу исправить эту проблему?

4b9b3361

Ответ 1

Вы можете попытаться использовать ISNUMERIC для определения тех строк, которые действительно являются числовыми:

UPDATE dbo.YourTable
SET BigIntColumn = CAST(NVarcharColumn AS BIGINT)
WHERE ISNUMERIC(NVarcharColumn) = 1

Это преобразует те строки, которые могут быть преобразованы - другие должны обрабатываться вручную.