當我運行查詢:SQL Server部門查詢
select (100/50)
它給我2 - 不錯。
但是當我運行查詢:
select (50/100)
我預計它會給我0.5 ...但它給我0呢?爲什麼?如何獲得0.5?
select (25/(30))*100
我預計它會給我83.33,但它也給出0而不是?
當我運行查詢:SQL Server部門查詢
select (100/50)
它給我2 - 不錯。
但是當我運行查詢:
select (50/100)
我預計它會給我0.5 ...但它給我0呢?爲什麼?如何獲得0.5?
select (25/(30))*100
我預計它會給我83.33,但它也給出0而不是?
當你把兩個整數,結果是一個整數一樣,所以50%/ 100 = 0.5,是0
的整數爲了得到一個小數點,或者寫:
Select 50.0/100
或鑄造OA十進制整數 - 即
SELECT (CAST(20 AS DECIMAL(5,1))/30)
SQL Server將您的數字視爲int並給出一個int結果。
嘗試
select 100.0/50
select (25.0/(30))*100
試試這個:
select (50/100.0)
使用一個整數除法會導致零如果結果小於1,因爲integer
值只能是圓的數字。
0.99
將導致較低的值= 0
3.876
將導致3
等。
使用decimal
變量來獲得你想要的結果。您可以輕鬆地做到這一點通過使用你的號碼一個.
:100.0