【问题标题】:sql converting value errorsql转换值错误
【发布时间】:2018-05-04 12:14:45
【问题描述】:

ItemCode 列出现此错误:

将 nvarchar 值 '8KAM69631KX' 转换为数据类型 int 时转换失败

我正在使用以下代码:

CREATE table #SatisStokSDH (
    STORECODE nvarchar(50), 
    STORESTOCK int, 
    ItemCode nvarchar(50), 
    ColorCode nvarchar(50), 
    Sales_Unit_L7 int, 
    SDH int
)

insert into #SatisStokSDH (STORECODE, STORESTOCK, ItemCode, ColorCode, Sales_Unit_L7, SDH)
select STORECODE,
       STORESTOCK,
       ItemCode,
       ColorCode,
       Sales_Unit_L7,
       STORESTOCK/NULLIF(Sales_Unit_L7,0)*7 as SDH
       from #SatisStok                       

为什么会出现这个错误?又该如何纠正呢?

【问题讨论】:

  • 因为字符串 8KAM69631KX 不代表一个有效的 int
  • 在哪一栏?这不是一个 int,您是想将该值插入一个 int 表中,还是它在您的计算列中。提供表格中的示例数据,这将显示它是哪一列
  • 您要从表中选择什么?
  • 8KAM69631KX 属于哪个?你表中的哪一列
  • 你的临时表“#SatisStok”的定义(和内容)是什么?

标签: sql sql-server nvarchar


【解决方案1】:

您将插入 nvarchar 字段到 int 字段。请更改相关列的数据类型属于'8KAM69631KX'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-22
    • 1970-01-01
    • 2019-07-04
    • 2016-11-23
    • 1970-01-01
    • 1970-01-01
    • 2018-11-18
    • 1970-01-01
    相关资源
    最近更新 更多