首页 > 解决方案 > 错误 266:不一致的数据类型:TIMESTAMP 类型与 INT 类型 SAP HANA 不兼容

问题描述

我正在尝试将 SAP HANA 上的源表 A 传输到另一个目标表 B。

两个表在下面具有相同的结构;他们都有一个LASTUPDATE类型的列TIMESTAMP,但是当我尝试执行时

Insert into TABLE B (Select BASE1,BASE2,LASTUPDATE from TABLE A) 

有这个错误:

ERROR 266:不一致的数据类型:TIMESTAMP 类型与 INT 类型不兼容

表A的结构:

SOURCE TABLE 的结构

表B的结构:

目标表的结构

这可能是一个错误,你知道如何解决这个问题吗?

看起来它LASTUPDATE在 TARGET 上读取为 INT,但我检查了它的类型结构并将其TIMESTAMP修改为类型Date,并且To_SecondDate我有相同的错误,它被读取为 INT。

insert into wctversion (SELECT base1,base2,base3,base4,lastupdate,
schname,status,updateuser FROM TMP_wctversion)

它显示了这个错误:

无法执行“插入 wctversion(SELECT base1、base2、base3、base4、lastupdate、schname、status、updateuser FROM ...” SAP DBTech JDBC:[266]:不一致的数据类型:TIMESTAMP 类型与 INT 类型不兼容:第 1 行第 57 栏(第 56 位)

标签: databasetimestampintsaphana

解决方案


根据@a_horse_with_no_name 的评论,您没有指定 traget 字段,因此系统正在尝试按顺序分配字段。

在您的情况下,这意味着您正在尝试将 LASTUPDATE 插入 BASE3 - 因此出现转换错误。

你应该有:

INSERT INTO B ("BASE1", "BASE2", "LASTUPDATE") (SELECT "BASE1", "BASE2", "LASTUPDATE" FROM A)

推荐阅读