We can first convert varchar or char into INT and then decimal. It will handle both null and empty string. Ex. CONVERT(Decimal(precision, scale), convert(INT, Column))