数据从varchar转换为decimal

时间:2016-07-01 13:55:52

标签: sql-server

我有一个varchar数据类型的列。我需要在sql server 2014中将其转换为十进制数据类型吗? 例如,varchar值.0462500为十进制4.62500

我已经看到了一些类似的问题,但它对我没有用。

感谢您的时间和帮助!

2 个答案:

答案 0 :(得分:0)

如果您知道自己的VARCHAR变量需要大致相同的转化率,您只需使用CAST()函数转换它们,然后执行必要的乘法运算:

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

同样,CONVERT()方法将基本上通过不同的语法完成相同的事情:

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

enter image description here

答案 1 :(得分: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