问题

最近在做MySQL迁移到达梦数据库的工作,出现一个不大不小的问题.

字符转换出错

解决

刚发现这个问题时一度以为我参数有问题,直到我把所有参数删除也报同样的错误才知道这个问题是在我的 left join 后面的条件上.
这里proposal.idNumber 类型,而vat.businesskey是Varchar2. 这个导致了 6111: 字符串转换出错.
知道问题后给出解决方案就容易多了.

  1. 将两者数据类型统一
  2. 手动将proposal.id转换成字符串进行比较(TO_CHAR(proposal.id) = vat.businesskey)

我选第二种,第一种成本太大了.改动地方太多.