开发者社区> 问答> 正文

如何通过从另一个nvarchar列获取值来更新数字列?

我想将一个nvachar列数据复制到同一表/ sql服务器中的另一个小数列。但是我收到类似“将数据类型nvarchar转换为数字时出错”之类的错误。有什么办法可以解决查询问题?你能给我个主意吗?先感谢您..

Update OFFER_REVIEW SET
SUM_NEW = (Select CONVERT(DECIMAL(18,0),SUM) from OFFER_REVIEW b where OFFER_REVIEW.id = b.id)

展开
收起
祖安文状元 2020-01-05 14:19:25 352 0
1 条回答
写回答
取消 提交回答
  • 这是我对原始答案的修改,其中考虑了您的实际问题,即您似乎在某些语言环境中具有文本数字数据,其中千位分隔符为点,十进制分隔符为逗号。您可以尝试使用TRY_PARSElocale参数:

    UPDATE OFFER_REVIEW
    SET SUM_NEW = TRY_PARSE(SUM AS DECIMAL(18,0) USING 'El-GR');
    
    2020-01-05 14:19:33
    赞同 展开评论 打赏
问答分类:
SQL
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载