Le ci-dessous fonctionne sql:Comment varchar implicite à des œuvres numériques jusqu'à 999 et ne fonctionne pas après
DECLARE @VAL1 VARCHAR(50), @VAL2 INT
SET @VAL1 = '999'
SET @VAL2 = 6414
SELECT ROUND(CAST(((@VAL1 * 100.00)/@VAL2) AS FLOAT), 2)
Où que celui-ci échoue avec « erreur de dépassement arithmétique conversion varchar numérique de type de données. »
DECLARE @VAL1 VARCHAR(50), @VAL2 INT
SET @VAL1 = '1000'
SET @VAL2 = 6414
SELECT ROUND(CAST(((@VAL1 * 100.00)/@VAL2) AS FLOAT), 2)
La seule différence entre les deux est que dans le second @ valeur VAL1 est 1000 au lieu de 999.
Merci pour la réponse. –