13

I want insert all rows of a table into another table, and I also want convert a nvarchar field into bigint, but when I use convert(bigint, col1) SQL Server shows an error:

Error converting data type nvarchar to bigint

How can I fix this problem?

4

4 に答える 4

26

ISNUMERIC実際に数値である行を特定するために使用することができます。

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

これにより、変換可能な行が変換されます - 他の行は手動で処理する必要があります。

于 2011-04-29T06:36:39.960 に答える
0

ここで、列の navrchar 値を bigInt に変換し、2 つの列の加算を実行して打撃を見つけます。

SELECT (CAST(col1 AS BIGINT) + CAST(col2 AS BIGINT)) AS TotalValue from tableName 
于 2022-01-10T16:22:58.843 に答える