SQL Server 2005 меняет десятичное на целое - PullRequest
0 голосов
/ 29 января 2012

Тип данных моего столбца decimal(18,0), но когда я вводю значение в базу данных 2.3, оно меняется на 2.

Ответы [ 2 ]

3 голосов
/ 29 января 2012

Для хранения этого значения поле должно иметь тип decimal(18,1)

Проверить это:

SELECT CAST(2.3 as decimal(18,0))
SELECT CAST(2.3 as decimal(18,1))
3 голосов
/ 29 января 2012

decimal(18, 0) означает, что вы хотите создать десятичное поле, в котором будут храниться:

  • 18 цифр, разделенных между левой и правой сторонами десятичного знака.
  • 0 цифр справа десятичного разряда.

Это объясняет, почему 2.3 превращается в 2.Для получения дополнительной информации см. Документацию msdn для десятичного типа данных .

...