## Get the fractional part of a decimal with SSIS Expressions

 Author Message rburko SSC Eights! Group: General Forum Members Points: 827 Visits: 365 This shouldn't be too hard but I'm still having trouble getting the fractional part of a decimal number using SSIS expressions without jumping through a lot of hoops. I found this simple method to get the fractional part using T-SQL.`Select 1.2 % 1 `So of course I thought, "SSIS expressions have a modulo operator, I'll just use that." But it doesn't work. It looks like you can only use integers when using the modulo operator in an expression.Short of converting the decimal to a string, finding the decimal position using Findstring, then digging out the fractional part using a substring function, what is the best option for getting the fractional part of a decimal number? Daniel Bowlin SSCoach Group: General Forum Members Points: 17642 Visits: 2629 How about1.2 - FLOOR(1.2)Floor returns the largest integer that is less than or equal to the numeric expression Phil Parkin SSC Guru Group: General Forum Members Points: 129509 Visits: 22602 Daniel Bowlin (2/19/2013)How about1.2 - FLOOR(1.2)Floor returns the largest integer that is less than or equal to the numeric expressionNot true for negatives. Try this:`select -11.2 - floor(-11.2)`But stick to positive numbers, or use ABS() too and it should work. Help us to help you. For better, quicker and more-focused answers to your questions, consider following the advice in this link.If the answer to your question can be found with a brief Google search, please perform the search yourself, rather than expecting one of the SSC members to do it for you.Please surround any code or links you post with the appropriate IFCode formatting tags. It helps readability a lot. rburko SSC Eights! Group: General Forum Members Points: 827 Visits: 365 Awesome! That works! I was already using Floor to pull out the integer part of the decimal. It didn't occur to me to use floor to subtract the integer from the decimal to get the fractional part. The only part I had to add was a cast to decimal to get the result; in my case:(DT_DECIMAL,2)((1.2 - FLOOR(1.2)) * 100))Thanks! rburko SSC Eights! Group: General Forum Members Points: 827 Visits: 365 Thanks Phil,In my case, this will always be a positive decimal. But you made a good point.