Oracle Union操作时表结构字段类型不一致查询语句 -ORA-01790: expression must have same datatype as corresponding exp
最新推荐文章于 2023-01-31 12:26:59 发布
最新推荐文章于 2023-01-31 12:26:59 发布

Oracle union操作时字段类型不一致会报如下错误

--> ORA-01790: expression must have same datatype as corresponding expression

select * from (
SELECT table_name, column_name, data_type,DATA_LENGTH,COLUMN_ID FROM USER_TAB_COLUMNS WHERE table_name =upper('bb_sjb')
UNION
SELECT table_name, column_name, data_type,DATA_LENGTH,COLUMN_ID FROM USER_TAB_COLUMNS WHERE table_name =upper('bb_yzb')
UNION
SELECT table_name, column_name, data_type,DATA_LENGTH,COLUMN_ID FROM USER_TAB_COLUMNS WHERE table_name =upper('bb_zcpgb')
UNION
SELECT table_name, column_name, data_type,DATA_LENGTH,COLUMN_ID FROM USER_TAB_COLUMNS WHERE table_name =upper('bb_hbsjb')
UNION
SELECT table_name, column_name, data_type,DATA_LENGTH,COLUMN_ID FROM USER_TAB_COLUMNS WHERE table_name =upper('bb_bbqtb')
) WHERE COLUMN_NAME IN('ZCZE','XSSR','YYSR')
为了从数据库导出数据直接生成excel ,为了客户对比数据使用,根据条件查找并去重等众多艰难险阻,不断百度和查看大量 操作 方式和实验得出这么几条经验,拿出来给大家分享一下,如果有哪里不对或者探讨请联系我,在此谢过! Union union all): 指令的目的是将两个 SQL 语句的结果集合并起来,得到你所需要的查询结果。   网上对这两者之间的一个总结: Union :对两个... MERGE INTO TABLE t USING ( <foreach collection="infoList" item="info" separator=" union all"> SELECT #{info.id} AS id, #{info.code} AS code, #{info.name} AS name FROM dual </foreach> ON (t.code = t1. 1.较为简单:将少量的不 一致 字段 ,使用to_number、to_date等方式作下处理。这样能够确保查询 操作 正常 2.较为复杂:更改少量不 一致 字段 字段 类型 ,与多数 中的 字段 类型 保持 一致 简单的方法就不用说了,下面看下复杂的情况该如何 操作 。接... 当前位置:我的异常网» 数据库» Oracle 会合 操作 UNION / UNION ALL/INTERSECT/MINU Oracle 会合 操作 UNION / UNION ALL/INTERSECT/MINUS的用法www.myexceptions.net网友分享于:2013-02-25浏览:3次 Oracle 集合 操作 UNION / UNION ALL/INTERSECT/MINUS的用法... Oracle : expression must have same data type as cor re sponding expression 报错解决 博主今天也遇到这种错误,本地测试和客户生产环境相同,但是数据不同,导致本地运行正常,客户反馈报错。排查了下发现错误产生原因。现将排查方式和修改罗列,仅供以后参考。 背景:更新视图,本地执行正确,客户反馈脚本执行报错。错误如下: 报错... 在使用 Union all连接时,若A集合中某列为nvarchar2或nvarchar 类型 ,而B集合中无此列,用‘ ’ 来代替是会报字符集不匹配,解决方法有两种,见下面的示例 select '中国','China',cast('中国' as nvarchar2(10)) T from dual union all select '美国','USA','' from dual; 如上,T的 类型 为nvarchar2,长度为10,如果直接这样查询,就会报字符集不匹配,那么怎么来处理呢,可通过两种方 order by子句必须写在最后一个结果集里,并且其排序规则将改变 操作 后的排序结果;并且对于 Union Union All、Intersect、Minus都 Union ,对两个结果集进行并集 操作 ,不包括重复行,同时进行默认规则的排序; Union All,对两个结果集进行并集 操作 ,包括重复行,不进行排序;Intersect,对两个结果集进行交集 操作 ,不包括重复行,同时进行默认规则的排序;Minus,对... ORA - 01790 错误提示信息是“ expression must have same data type as cor re sponding expression ”,如果使用oerr命令查看,没有过多的描述信息。单纯从错误信息的内容... 报错原因:TABLE1和TABLE2中对应的 字段 ,数据 类型 一致 。比如TABLE1中的USER_ID数据 类型 为NUMBER,TABLE2中的USER_ID数据 类型 为VARCHAR2。错误信息: ORA - 01790 : expression must have same data type as cor re sponding expression 。解决办法:建试图时用TO_CHAR,TO_NUMBER等函数转换数据 类型 。建议对转换数据 类型 字段 使用别名,否则如果该 字段 在第一个SELECT后,会报错。 今天收到mail说下面这个SQL无法在ERP10.7中查询,出现Error: ORA -01789 查询区块的结果数据域位数目不正确SELECT a.net_qtyFROM mkl_fp_fne_net_aps_v aWHERE SUBSTR(a.part_number, 5, 4) = '1667'AND a.organization_id = 433AND a.compile_designator... $sqlArr[] = self::where($condition) ->where($whereTime) ->field(['(start_distance + end_distance) as total_distance','order_sn','rider_id','rider_profits','create_time']) ->buildSql(); //中间