亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在SQL Server中從十進制中刪除尾隨零

在SQL Server中從十進制中刪除尾隨零

紫衣仙女 2019-09-02 15:55:18
我有一個列,DECIMAL(9,6)即它支持像999,123456這樣的值。但是當我插入像123,4567這樣的數據時,它變成了123,456700如何刪除那些零?
查看完整描述

3 回答

?
墨色風雨

TA貢獻1853條經驗 獲得超6個贊

您可以使用該FORMAT()功能(SqlAzure和Sql Server 2012+):


SELECT FORMAT(CAST(15.12     AS DECIMAL(9,6)), 'g18')  -- '15.12'

SELECT FORMAT(CAST(0.0001575 AS DECIMAL(9,6)), 'g10')  -- '0.000158'

SELECT FORMAT(CAST(2.0       AS DECIMAL(9,6)), 'g15')  -- '2'

使用FLOAT(或REAL)時要小心:不要使用g17或更大(或者g8使用REAL更大),因為機器表示的精度有限會導致不必要的影響:


SELECT FORMAT(CAST(15.12 AS FLOAT), 'g17')         -- '15.119999999999999'

SELECT FORMAT(CAST(0.9 AS REAL), 'g8')             -- '0.89999998'

SELECT FORMAT(CAST(0.9 AS REAL), 'g7')             -- '0.9'

此外,請注意,根據文件:


FORMAT依賴于.NET Framework公共語言運行時(CLR)的存在。此功能不會被遠程控制,因為它取決于CLR的存在。遠程處理需要CLR的函數會導致遠程服務器出錯。


也適用于SqlAzure。


查看完整回答
反對 回復 2019-09-02
  • 3 回答
  • 0 關注
  • 572 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號