2015-10-14 39 views
1

排序有人破口大罵之前,是的,我知道它的愚蠢,還有存儲在VARCHAR處理我引用數據庫,但沒有什麼我可以做數字關於它。 基本上我有一列大多是作爲varchar存儲的整數,但有一些小數點的值需要保存,同時將整列轉換爲一些數字形式,以便以後可以正確排序。如果我只選擇該數據作爲是它排序,這樣的:1,10,11,12,13,2,2.1,3 我需要它是1,2,2.1,3,10,11,12,13但我需要保持2和2.1或2.01之間的差異。小數位前後不應有數字超過2位的數字。我試過Convert(Decimal,column1)AS'Column_Name',但是所有的2.1都變成了2,所以有1,2,2,3等等。嘗試查詢SQL數據庫,需要轉換成列在Excel

回答

0

Convert(Decimal,column1)與Convert(Decimal(M,0),column1)相同,其中M是與操作系統相關的編號,但0表示不會保留小數點右側的數字。改用Convert(Decimal(X,2),column1),其中X是足夠高的數字來處理列中的數字。

+0

轉換(十進制(6,3),列1)還只是給出了相同的重複整數1,2,2,3代替1,2,2.1,3我後...沒有其他的想法? – mcunkelman

+0

請設置一個sqlfiddle.com示例,其中包含示例數據和您嘗試的查詢,然後我們可以檢查發生了什麼問題。 – Shadow