2016-07-01 37 views
-3

我有一個帶有varchar數據類型的列。我需要將其轉換爲sql server 2014中的十進制數據類型? 例如,將varchar值.0462500轉換爲十進制4.62500將數據從varchar轉換爲十進制

我已經看到了一些類似的問題,但它對我沒有用。

謝謝你的時間和幫助!

+1

哪裏是你的代碼!你試過什麼了?這是一個開始的好地方:http://spaghettidba.com/2015/04/24/how-to-post-at-sql-question-on-a-public-forum/ – Marusyk

+3

你到底在想什麼?它對你來說「沒有用」嗎? –

回答

0

如果你知道你的VARCHAR變量需要大致相同的轉換率,你可以簡單地使用CAST()功能將它們轉換,然後進行必要的乘法:

SELECT CAST(YourValue AS DECIMAL(7,5)) * 100 

同樣,CONVERT()方法將基本上完成通過不同的語法同樣的事情:

SELECT CONVERT(DECIMAL(7,5),YourValue) * 100 

enter image description here

+0

感謝Rion Willoams – Anj

+0

嗨@AnjanaH如果這個或任何答案已經解決了您的問題,請點擊複選標記考慮[接受它](http://meta.stackexchange.com/q/5234/179419)。這向更廣泛的社區表明,您已經找到了解決方案,併爲答覆者和您自己提供了一些聲譽。 – AHiggins

+0

@Rion Williams。你的回答正是我想要的。感謝Rion。我將它標記爲答案 – Anj

0

您可以使用CastConvert函數。

轉換

select convert(decimal(10,5),.0462500)*100 

演員

select cast(.0462500 as decimal(10,5))*100 

注:如果有畸形數據(數據不能轉換),您可能需要使用Try_ConvertTry_Parse功能。

Try_Convert

select try_convert(decimal(10,5),.0462500)*100 

Try_Parse

select try_parse('.0462500' as decimal(10,5))*100