2017-07-10 217 views
0

我正在使用Postgresql生成兩個字段「a/b」= -3/300 = -.01或-1.00%的簡單商。相反,它顯示爲零。我嘗試了很多to_char的變體,但都沒有成功。我怎樣才能得到「選擇-3/300作爲商」以xxx.xxx%格式顯示商?謝謝如何顯示商的百分比

+3

你能詳細點嗎?因爲上次我檢查'(3/300)== 0',Postgres對輸入整數進行整數除法。因此,'(a/b :: float)* 100.0'可能是一個更好的主意。 – dhke

+0

請詳細說明一下更詳細的示例,並詳細說明您採取了哪些措施以及哪些措施沒有按預期工作。 – herrbischoff

+0

當然,它實際上是(-3/300)= 0.01 = 1.00%,並且:: float建議有所不同!謝謝。 –

回答

0

要顯示百分比符號,您可以使用以下格式。不要忘了首先乘以100.0,所以1)它確實是一個百分比,2)如@dhke所述,計算是用浮點數來完成的,而不是整數。

select to_char(100.0*-3/300,'999D99%') a; 
    a 
---------- 
    -1.00% 
(1 row) 
+0

謝謝,JGH,這確實產生了積極的變化。上面的「:: float」建議讓我越過終點線,但這種使用no_char的技巧是我會保持得心應手的,它給了我更多的選擇。謝謝。 –