Конвертировать nvarchar в bigint в SQL Server 2008 - PullRequest
11 голосов
/ 29 апреля 2011

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

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

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

Ответы [ 2 ]

20 голосов
/ 29 апреля 2011

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

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

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

0 голосов
/ 20 мая 2018

Вы должны конвертировать bigint в nvarchar, а не наоборот (Другое_Column_name как nvarchar) не приведено (Column_Name как bigint)

...