我有两个表,想求一下交集,使用了INTERSECT ,但是提示字符集不匹配。
两个表字段和字段类型如下:
KHLQBH表:
| 字段 | 类型 |
|---|---|
| ZD | VARCHAR2 |
| ZDLX | NVARCHAR2 |
| ZDSXH | NUMBER |
| BSM | INTEGER |
LD_KH表:
| 字段 | 类型 |
|---|---|
| ZD | NVARCHAR2 |
| ZDLX | NVARCHAR2 |
| ZDSXH | INTEGER |
| BSM | INTEGER |
通过比对发现,两个表只有 ZD 和 ZDSHX 字段类型不一样
我直接在查询LD_KH表中 加了一个TO_CHAR(ZD) 再求交集就OK了,number 和 INTEGER没处理:
SELECT A.ZD,A.ZDLX,A.ZDSXH,bsm FROM KHLQBH a
INTERSECT
SELECT to_char(A.ZD),A.ZDLX,A.ZDSXH,bsm FROM LD_KH a;
本文介绍了解决两个表字段类型不一致导致的SQL查询字符集不匹配问题。通过将其中一个表的NVARCHAR2类型字段转换为VARCHAR2类型,并使用TO_CHAR函数处理number类型字段,成功实现了两表的交集查询。
1万+

被折叠的 条评论
为什么被折叠?



