Преобразование 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)