SQL 中如何去掉decimal字段後面的0

當我們需要將 DECIMAL 字段的值轉為 VARCHAR 型時, 常常會遇到一個問題:  如果此字段有4位小數, 那小數點後面都會自動被0補齊. 例如: 18.0000 或 12.0300. 轉為 VARCHAR 時后面的0仍然被保留. 

T-SQL如下:

 select top 3 a.el_qty4 ,'('+ cast(a.el_qty4 as varchar(10))+'人)'
 from tempdb..tmp_pc332016_09_05_11_56_03_56327e01 a(nolock)  
結果:


顯然這并不是我們想要的結果. 要想去掉後面多餘的0, 必須先將 DECIMAL 轉為 FLOAT,然后再轉為VARCHAR.

T-SQL如下:

 select top 3 a.el_qty4 ,'('+ CONVERT(varchar(10), cast(a.el_qty4 as float))+'人)'
 from tempdb..tmp_pc332016_09_05_11_56_03_56327e01 a(nolock) 
結果:



以上結果在SQL SERVER 2008測試通過.

你可能感兴趣的:(SQL,Server)