テーブルのすべての行を別のテーブルに挿入し、nvarchar
フィールドをbigint
に変換したいのですが、convert(bigint, col1)
を使用すると、SQL Serverにエラーが表示されます。
データ型nvarcharをbigintに変換中にエラーが発生しました
この問題を解決するにはどうすればよいですか?
ISNUMERIC
を使用して、実際に数値である行を判別することができます。
UPDATE dbo.YourTable
SET BigIntColumn = CAST(NVarcharColumn AS BIGINT)
WHERE ISNUMERIC(NVarcharColumn) = 1
これにより、変換可能な行が変換されます。その他の行は手動で処理する必要があります。
あなたはbigintをnvarcharに変換する必要があります逆はキャストしない(Other_Column_name as nvarchar)キャストしない(Column_Name as bigint)