Я отправляю десятичное значение в sproc следующим образом:
SqlParameter meh = new SqlParameter("Foo", SqlDbType.Decimal);
meh.Value = "0.00001";
meh.Precision = ((System.Byte)(12));
meh.Scale = ((System.Byte)(9));
Когда я профилирую базу данных, чтобы увидеть, что с ней выполняется, я вижу такой параметр:
....,@Foo decimal(12,9),....,@Foo=10000,....
Кажется, что оно полностью отражено от десятичной точки, как мне это исправить? Обратите внимание, что я также пробовал сначала преобразовать строку в фактическое десятичное число и использовать его для установки 'meh.Value', но у него все еще есть та же проблема.
Я заметил, как и в приведенном выше примере, что в исходном значении десятичная точка смещена вправо на 9 позиций, то же самое значение, что и шкала. Что может вызвать это?
Я должен отметить, что я использую Sql Server 2008