关于ORACLE UNION ALL 遇到的问题
2011-03-21 18:51
302 查看
前两天在写视图的时候,用到了UNION ALL 发现了一个不注意的事情,除了我知道的需要列一样,如果union all的两条查询语句的列对应的数据类型不一样也不能通过会报:ORA-12704: 字符集不匹配这个错误;我们必须要使用cast 转换成相同的数据类型才行,具体方式请开如下代码:
SELECT PROJ2.PROJECT_CODE XMBM, PROJ1.PROJECT_CODE DTGCBH, '' WJLX, CAST (BS.BIAOD_ID BDBM as varchar2(20)), FILE_.FILE_NAME WJMC, FILE_.FILE_PATH WJDZ, USER_.USER_NAME BZR, ORG.ORGANIZATION_NAME BZRDW, FILE_.CREATE_TIME SZSJ FROM T_JZL_GONGCJGYSSQ BS INNER JOIN T_BNS_PRJM_PROJECT PROJ1 ON BS.GONGC_ID = PROJ1.ID INNER JOIN T_BNS_PRJM_PROJECT PROJ2 ON PROJ1.SUPER_PROJECTID = PROJ2.ID LEFT JOIN T_CTL_FILES FILE_ ON FILE_.GROUPID = BS.GROUPID LEFT JOIN T_PDC_USER USER_ ON USER_.ID = BS.BAOS_SENDER LEFT JOIN T_PDC_ORGANIZATION ORG ON ORG.ID IN (SELECT ORGANIZATION_ID FROM T_PDC_ORGANIZATION_USER WHERE USER_ID = BS.BAOS_SENDER AND DELETE_FLAG = '0') WHERE BS.DELETE_FLAG = '0' AND PROJ1.DELETE_FLAG = '0' AND PROJ2.DELETE_FLAG = '0' UNION ALL SELECT PROJ2.PROJECT_CODE XMBM, PROJ1.PROJECT_CODE DTGCBH, '02' WJLX, CAST ('' as varchar2(20)) BDBM, FILE_.FILE_NAME WJMC, FILE_.FILE_PATH WJDZ, USER_.USER_NAME BZR, ORG.ORGANIZATION_NAME BZRDW, FILE_.CREATE_TIME SZSJ FROM T_YXM_JINGYSSQ SQ INNER JOIN T_BNS_PRJM_PROJECT PROJ1 ON SQ.GONGC_ID = PROJ1.ID INNER JOIN T_BNS_PRJM_PROJECT PROJ2 ON PROJ1.SUPER_PROJECTID = PROJ2.ID LEFT JOIN T_CTL_FILES FILE_ ON FILE_.GROUPID = SQ.GROUPID LEFT JOIN T_PDC_USER USER_ ON USER_.ID = SQ.SIGLE_NAME LEFT JOIN T_PDC_ORGANIZATION ORG ON ORG.ID IN (SELECT ORGANIZATION_ID FROM T_PDC_ORGANIZATION_USER WHERE USER_ID = SQ.SIGLE_NAME AND DELETE_FLAG = '0') WHERE SQ.DELETE_FLAG = '0' AND PROJ1.DELETE_FLAG = '0' AND PROJ2.DELETE_FLAG = '0'
相关文章推荐
- oracle 升级时遇到关于asm的问题
- 关于union all中使用多个order by 子句引起的问题
- 使用Maven连接oracle遇到关于驱动的问题
- 关于重装oracle遇到的问题
- [疑]关于oracle导出数据时遇到的4031问题
- 关于执行Oracle下Sql语句中遇到的特殊字符问题解决办法。
- Related to Oracle SQL 关于遇到Number型与varchar2型比较时的隐式转换引起的生产问题
- oracle使用Union的时候遇到列格式clob和varchar2不符,不能转的问题
- 关于EXP-00056: 遇到 ORACLE 错误 1455 ORA-01455: 转换列溢出整数数据类型 EXP-00000: 导出终止失败 的问题解决方法整理
- 关于oracle批量插入数据遇到的问题
- 最近在ArcGIS Engine开发中关于调用gp工具过程出现COM 组件的调用返回了错误 HRESULT E_FAIL 错误的解决方法 和 学习oracle中遇到的一些问题总结
- 关于ORACLE通过file_id与block_id定位数据库对象遇到的问题的一点思考
- Oracle Union/Union all 的排序问题
- 关于ORACLE通过file_id与block_id定位数据库对象遇到的问题引发的思考
- 基于vbox虚拟机Centos6.5的关于Oracle 11.2g单例安装遇到的一点问题
- 关于Unity加载优化,你可能遇到这些问题
- 从Sql server 2000往Oracle 10g数据库迁移遇到的问题
- oracle安装时遇到的一些问题
- 关于VS2013的安装遇到的问题
- [ORACLE]Centos7.2安装ASM遇到的问题