Basta remover a vírgula da sua string antes da conversão: Select CONVERT(DECIMAL(18,2),replace('38,716.1311', ',', ''))