简体   繁体   English

怎么把NVarchar转换成十进制?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM