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();
//中间
表
把