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?
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
Vous devez vous connecter pour publier un commentaire.
Peut-être essayer
ISNULL
Cela ne fonctionne pas, j'ai toujours l'erreur de dépassement de capacité. Merci pour votre aide! Il est difficile de frappe à partir d'un téléphone portable!
Pouvez-vous augmenter la taille de votre nvarchar(7) et voir si cela aide.
Je soutiens modifier le type de données dans son ensemble? C'est un pourcentage, donc peut-être changer en décimal?
Changer votre ThreeMonthPercent, SixmonthPercent et NineMonthPercent pour flotter et voir si cela aide.
OriginalL'auteur Rick S