sql-server - 我在尝试更正 sql server 2016 中的转换问题时遇到问题
问题描述
我有一个案例语句,我试图对多个列 int 值求和,然后将求和值格式化为“00000015700+”作为示例,但在 SQL Server 2016 中出现转换错误。
这是错误:
将 varchar 值“00000015700+”转换为数据类型 int 时转换失败。
这是我的代码:
CASE
WHEN x.Code = 'WRITPREM' AND x.[Description] = 'NEW POLICY' THEN RIGHT('00000000000' + CAST(REPLACE((sum(x.totalPolicy_BIN) + sum(x.totalPolicy_COL) + sum(x.totalPolicy_OTC) + sum(x.totalPolicy_PDM) + sum(x.totalPolicy_MED) +sum(x.totalPolicy_PIP) + sum(x.totalPolicy_REN) + sum(x.totalPolicy_TOW) + sum(x.totalPolicy_UBI) + sum(x.totalPolicy_UPD)),'.','') as varchar(12)) + '+',12)END as TEST
任何帮助/方向将不胜感激。谢谢。
解决方案
您正在输入的字段之一sum()
包含带有“+”号的值。因此,SQL Server 无法将该值转换为整数以便sum()
. 您似乎正在将该函数应用于非数字列。因此,您至少在其中一列中有意外数据。尝试消除一些sum()
列以找出哪一列包含有问题的数据。理想情况下,您应该在每一列上都有正确的数据类型,而不会遇到这个问题。
推荐阅读
- lua - 如何将 luajit 指针转换为字符串并返回?
- selenium - 使用 Selenium,如何同时填充多个输入框
- javascript - 打字稿中的样式组件“as”道具和自定义道具
- dart - 飞镖编程语言的市场行情
- javascript - 试图将状态值从子级传递给父级,得到最大更新深度超出错误
- documentation - 基础 Node2D 中不存在函数 apply_impulse
- python-3.x - 如果尝试加入相同的文件夹名称,os.path.join() 将无法正常工作。如何解决?
- css - Material-UI:DataGrid 滚动条未呈现
- javascript - 在 Next.js 中将道具从 Document 发送到 NextApp 组件
- python-3.x - 如何让 python discord bot 发送实时 GIF