首页 > 解决方案 > 如何将 varchar 转换为十进制,以便在 Excel 中将其视为数字

问题描述

我有一个数据类型的列decimal (18,2)
我在 Excel 导入的视图中使用它。
我要做的是将其转换为数字,以便在 Excel 中将其视为数字。我收到此错误:

将数据类型 varchar 转换为数字时出错。

这是我的代码:

cast(replace(isnull([wartosc],''),'.',',') AS numeric(18,2)) AS wartosc 

标签: sql-servertsqlsql-server-2012

解决方案


如果您不想转换列中的字符,请使用 sql server 中的 try_cast 函数,如果无法转换该值,它将自动忽略 null 和字符并给它们 null ,查询也不会失败。

select try_cast(replace(isnull([wartosc],''),'.',',') AS numeric(18,2)) AS wartosc 

推荐阅读