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測試通過.

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值