Във вашия пример стойността на @daysInPeriod/@YEAR_360 е 37.0444444444444444444 . Така че не можете да присвоите тази стойност на параметър от тип данни DECIMAL(38,38) , тъй като не оставяте място за частта int. A DECIMAL(38,38) означава, че можете да съхранявате 38 цифри и 38 от тях са в десетичната част, така че всяка стойност, по-голяма от 0,999999999999, ще доведе до грешка.