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

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

ошибка преобразования типа данных nvarchar в бигинт!--4-->

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

2 ответов


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

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

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


вы должны конвертировать bigint в nvarchar, а не наоборот cast (Other_Column_name как nvarchar) не cast (Column_Name как bigint)