[英]How to convert NVarchar to Decimal?
I have a column as nvarchar(max) whose value is 我有一个列为nvarchar(max),其值为
'1.7925e+006'
How can this be converted to decimal? 如何将其转换为十进制? I have tried as below 我尝试了如下
declare @pd as nvarchar(max) = '1.7925e+006'
Select convert(decimal(18, 2), @pd)
but I get an erorr: 但我得到了一个错误:
Msg 8114, Level 16, State 5, Line 4 消息8114,第16级,状态5,第4行
Error converting data type nvarchar to numeric. 将数据类型nvarchar转换为数字时出错。
Please suggest. 请提出建议。
由于字符串表示浮点数,因此您需要先将值转换为float
,然后再转换为decimal
:
SELECT CONVERT(decimal(18,2),CONVERT(float,'1.7925e+006'));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.