sql server數字轉字符串出現科學計數法


在從excel往sql server導入數據,電話、編號等數字呈現float類型,然后向b表中insert后(phone為nvarchar)出現科學計數法,解決方法:需將float等數據類型轉為標准的decimal類型后轉nvarchar即可。一直覺得float和double類型在sql server和其他語言等日常編程中沒有用途,而且容易造成麻煩(計算時出現近似值)等,建議使用decimal(18,2)。

convert(nvarchar(50),convert(decimal,phone))

 

 

 

declare @i float set @i=123456789
print 'test:'+convert(varchar(20),convert(int,@i))
輸出:test:123456789

 

如果是有小數,那么我們要轉換出小數位的話,可以轉換成decimal,轉換出的小數位數在定義decimal時指定。比如要輸出4位小數,那么轉換代碼是:

 

declare @i float set @i=123456789.12
print 'test:'+convert(varchar(20),convert(decimal(18,4),@i))
輸出:test:123456789.1200

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM