首页 文章

SQL将数据从一个表插入另一个表/数据类型错误

提问于
浏览
-4

我试图将数据从一个SQL表插入另一个SQL表 . 问题是列具有不同的数据类型 . 当我使用Cast()时,我仍然收到以下错误消息:

[Msg 8114, Level 16, State 5, Line 3 Error converting data type varchar to bigint.]

Table1列的数据类型为bigint或int,而Table2列为varchar . 有什么建议?

这是我的查询:

INSERT INTO Table1 
        ([RowId],
         [Scenario],
         [Entity],
         [Project],
         [TimePeriod])

SELECT Cast([ProjectMgrID] as bigint), Cast('ACT' as bigint), 
Cast('APP' as bigint), Cast([Project] as bigint), Cast('201801' as int)
FROM Table2

1 回答

  • 0

    用这个

    INSERT INTO Table1 
            ([RowId],
             [Scenario],
             [Entity],
             [Project],
             [TimePeriod])
    
    SELECT Cast([ProjectMgrID] as bigint), Cast([ACT] as bigint), 
    Cast([APP] as bigint), Cast([Project] as bigint), Cast('201801' as int)
    FROM Table2
    

    你在这里将字符串转换为bigint Cast('ACT' as bigint), Cast('APP' as bigint) 你应该在 [] 中给出列名

相关问题