我有一个列为nvarchar(max),其值为
'1.7925e+006'
如何将其转换为十进制?我尝试了如下
declare @pd as nvarchar(max) = '1.7925e+006' Select convert(decimal(18, 2), @pd)
但我得到了一个错误:
消息8114,级别16,状态5,第4
行将数据类型nvarchar转换为数值时出错。
请提出建议。
由于字符串代表浮点数,因此您需要float
先将值转换为,然后转换为decimal
:
SELECT CONVERT(decimal(18,2),CONVERT(float,'1.7925e+006'));