sql-server - 如何将 varchar 转换为十进制,以便在 Excel 中将其视为数字
问题描述
我有一个数据类型的列decimal (18,2)
。
我在 Excel 导入的视图中使用它。
我要做的是将其转换为数字,以便在 Excel 中将其视为数字。我收到此错误:
将数据类型 varchar 转换为数字时出错。
这是我的代码:
cast(replace(isnull([wartosc],''),'.',',') AS numeric(18,2)) AS wartosc
解决方案
如果您不想转换列中的字符,请使用 sql server 中的 try_cast 函数,如果无法转换该值,它将自动忽略 null 和字符并给它们 null ,查询也不会失败。
select try_cast(replace(isnull([wartosc],''),'.',',') AS numeric(18,2)) AS wartosc
推荐阅读
- cakephp - 如何获取包含子句以在 CakePHP 中生成正确的代码
- r - 如何模拟一个 100 人的班级?
- javascript - 如何使用具有不透明响应的 API?
- bash - 尝试运行 Bash 程序会导致“权限被拒绝”错误消息
- java - Spring Cloud Config 无法获取正确的值
- php - Symfony 4 - 键“_username”必须是一个字符串,“NULL”给定
- java - 将 tomcat/hibernate 配置为具有支持 1.2.840.113549.1.5.13 的加密提供程序
- excel - Excel - SUMIFS:根据标准更改求和元素的符号
- python - 在 docker 中运行 CuFFT 时出现 CUDA cudaErrorInsufficientDriver 错误
- javascript - TypeError:无法读取未定义的属性“字符串”;安装库硼