您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在SQL中将指数转换为数字

在SQL中将指数转换为数字

尝试在转换之前将字符串强制转换为float:

SELECT CONVERT(numeric(16,0), CAST(TOKEN AS FLOAT))
FROM MULTICURRENCY_CHECK

我不知道您的XML源中这些数字的格式是什么,但是通过提供的数据,您最终会得到33733,例如后面是一堆零。如果您的XML精度更高,也许您应该调整导入设置以保持此精度,而不是尝试在数据库中处理精度。

尝试使用ISNUMERIC来测试您的字符串,以避免出现转换错误添加列的原始输出将使您能够检查哪个值转换失败(即转换为0)。

SELECT TOKEN, 
       CONVERT(NUMERIC(16, 0), CAST(CASE 
                                      WHEN ISNUMERIC(TOKEN) = 1
                                      THEN TOKEN 
                                      ELSE 0 
                                    END AS FLOAT)) 
FROM   MULTICURRENCY_CHECK
SQLServer 2022/1/1 18:29:07 有555人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶