如何修复错误不兼容的数据类型组合 [SQL State=42562, DB Errorcode=-5562]

Posted

技术标签:

【中文标题】如何修复错误不兼容的数据类型组合 [SQL State=42562, DB Errorcode=-5562]【英文标题】:How to fix error incompatible data types in combination [SQL State=42562, DB Errorcode=-5562] 【发布时间】:2019-08-14 03:28:04 【问题描述】:

我重写代码..并得到这个错误:

不兼容的数据类型组合[SQL State=42562, DB Errorcode=-5562]

MERGE INTO tj USING (VALUES (?) )
  AS vals (created_date) 
  ON vals.created_date  = tj.created_date
  WHEN MATCHED THEN UPDATE SET tj.created_date= vals.created_date
  WHEN NOT MATCHED THEN INSERT VALUES  vals.created_date

如何修复该代码?

【问题讨论】:

【参考方案1】:

您需要将参数转换为 tj 的 created_date 列的类型。类型可以是 DATE 或 TIMESTAMP。

MERGE INTO tj USING (VALUES (CAST(? AS DATE)) )
AS vals (created_date) 
ON vals.created_date  = tj.created_date
WHEN MATCHED THEN UPDATE SET tj.created_date= vals.created_date
WHEN NOT MATCHED THEN INSERT VALUES  vals.created_date

【讨论】:

以上是关于如何修复错误不兼容的数据类型组合 [SQL State=42562, DB Errorcode=-5562]的主要内容,如果未能解决你的问题,请参考以下文章

如何修复错误:不兼容的类型:tab1 无法转换为 Fragment?

如何修复Firebird错误数据库已经使用引擎实例打开,与当前'不兼容

如何修复不兼容的外键约束spring boot

如何修复 PL/SQL:ORA-00932:不一致的数据类型:预期的 CLOB 得到了 -

HsqlException:不兼容的数据类型组合

错误修复程序和测试集如何不兼容?