Столбец SQL типа decimal округляет число от 0,01 до 0 - PullRequest
3 голосов
/ 30 августа 2011

При редактировании полей в Visual Studio 2010 я изменяю значение на 0,01.

enter image description here

При фиксации изменений циклически до конца строки он превращается в 0.

enter image description here

Есть идеи, почему это происходит? Мне нужно, чтобы сохранить 0,01 в качестве значения. Та же проблема происходит с полем RegularCost. Мне нужно сохранить что-то вроде 299,45, и оно округляется.

Вот SQL:

create table Auction
(
AuctionId int primary key identity(1,1),
ProductId int foreign key references Product(ProductId),
AuctionCategoryId int foreign key references AuctionCategory(AuctionCategoryId),
SerialNumber nvarchar(1024),
StartTime datetime,
EndTime datetime,
AvailableForBuyNow bit,
BuyNowCost decimal,
LanceCost decimal,
ClosingLanceCount int,
WonByUser int,
RegularCost decimal
)

Ответы [ 2 ]

5 голосов
/ 30 августа 2011

Вы должны определить это как

decimal(12,2)

Указывает точность (12) и масштаб (2). Если вы хотите 4 десятичных знака, вы можете сделать десятичное (12,4).

Значение по умолчанию равно 0 для десятичных знаков справа.

http://msdn.microsoft.com/en-us/library/ms187746.aspx

1 голос
/ 30 августа 2011

Попробуйте указать точность и масштаб , например,

LanceCost decimal(10,2)

или используйте деньги тип:

LanceCost money
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...