SQL erreur de dépassement Arithmétique expression de conversion de type de données nvarchar

D'erreur: erreur de dépassement Arithmétique expression de conversion de type de données nvarchar.

UPDATE [dbo].ForecastAccuracyKeyAccounts
SET ThreeMonthPercent = ((Actual - ThreeMonthForecast) / Actual) * 100, SixMonthPercent = ((Actual - SixMonthForecast) / Actual) * 100, 
NineMonthPercent = ((Actual - NineMonthForecast) / Actual) * 100
WHERE Actual != 0

Depuis, je suis en divisant par le Réel, je veux m'assurer que le Réel n'est pas égal à zéro. Mais quand je l'ajout de l'énoncé dans la CLAUSE where, je ne peut pas se débarrasser de l'erreur.

quels types de données sont vos colonnes? Il semble qu'il y est quelque chose de funky passe avec les conversions de type
La base de données que vous utilisez?
Réel float; ThreeMonthPercent de type nvarchar(7); ThreeMonthForecast float; ça marchait bien avant, j'ai ajouté la Clause where. La seule erreur que j'obtiendrais est le moment de la colonne était de 0.
SQL Server 2008
Pouvez-vous montrer les valeurs qui sont à l'origine de l'expression à l'échec?

OriginalL'auteur ahsatan | 2014-02-10