Re: [SQL ]請問MSSQL CONVERT FLOAT 轉換型態到字 …

看板Database作者 (4545454554)時間5年前 (2018/07/01 15:54), 5年前編輯推噓3(307)
留言10則, 3人參與, 5年前最新討論串1/3 (看更多)
※ 引述《m16ops ()》之銘言: : ※ 引述《Aarlex (Aarlex)》之銘言: : : A = 1230000010100 : : CONVERT(VARCHAR,A) : : 得到的結果是 1.230000010100 的科學符號表示方式 : : 造成必須要擷取第一個CHAR 以及第三個CHAR之後的,再合併~ : : 請問有沒有方法可以將他轉成 1230000010100.000... 的字串? : 如果沒記錯 應該是 先對A做ROUND 然後再CONVERT : LIKE THIS : CONVERT(VARCHAR,ROUND(A,X)) X代表要取到小數底下第幾位 不好意思 我也有同樣的問題 float轉字串 爬了文 發現10年前 就有人發問了 也解答了 但是 我先round再轉 還是會得到科學符號 請問 還有其他方法嗎? 謝謝 p.s. SQL SERVER 版本是2012 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.251.146.64 ※ 文章網址: https://www.ptt.cc/bbs/Database/M.1530431682.A.C76.html

07/01 16:20, 5年前 , 1F
要不要舉幾個例,input是什麼,希望結果又是什麼,好幫忙
07/01 16:20, 1F
希望float是什麼 轉出來就是什麼 float是98765432 round後再轉成字串卻是 9.87654e+007 float是9999.8888 round後再轉成字串卻是 9999.89

07/01 21:19, 5年前 , 2F
希望到小數第幾位呢
07/01 21:19, 2F
請問 有任何位數的做法嗎? 某個欄位的type是float 到底會存什麼值進去 也不知道

07/02 14:49, 5年前 , 3F
用STR函數去轉 我測試沒問題
07/02 14:49, 3F
謝謝 但我測試仍然不行

07/03 09:22, 5年前 , 4F
偷吃步:rtrim(8967575457.546677)
07/03 09:22, 4F

07/03 10:23, 5年前 , 5F
偷吃步失敗,還是參考cutekid大大的format解法比較好
07/03 10:23, 5F

07/04 18:16, 5年前 , 6F
STR會不行是沒有設小數的位數吧
07/04 18:16, 6F

07/04 18:17, 5年前 , 7F
str([欄位],總長度,小數位數)
07/04 18:17, 7F

07/04 18:18, 5年前 , 8F
也可以用STR([欄位],len([欄位]),len([欄位]))
07/04 18:18, 8F

07/04 18:39, 5年前 , 9F

07/04 18:41, 5年前 , 10F
我忘了float不能直接用len抓長度 還是要輸入長度
07/04 18:41, 10F
是我疏失 未明查STR正確用法 不好意思  STR的確可以 效果跟先轉decimal再轉varchar差不多 但STR可以少轉一次 STR和先轉decimal再轉varchar 都有相同的問題 就是要先預估小數位數 估得太小 結果可能與預期不符 估得太大 小數點後面會有多餘的0 目前看來 使用format會比較好 https://www.ptt.cc/bbs/Database/M.1530523341.A.0F7.html ※ 編輯: kisha024 (60.251.146.64), 07/06/2018 10:10:40
文章代碼(AID): #1RE8Z2ns (Database)
文章代碼(AID): #1RE8Z2ns (Database)