不同表結構或者不同資料型別之間的集合操作
本應該說兩張表結構不相似的或者表結構相似但資料型別不相同兩個表或者多個表不能進行
集合查詢操作。我們透過以下的測試表明:不同表結構的兩個或多個表之間不能進行集合操作,
但是資料型別不相同的兩個或多個表之間透過轉換函式把欄位的資料型別統一後,可以進行
集合查詢操作。
----嘗試兩張不同表結構的表或者相同欄位數不同資料型別的兩個表進行集合插敘:
--檢視測試表t_iot結構與記錄:
suxing@PROD>desc T_IOT
Name Null? Type
----------------------------------------- -------- ----------------------------
COL1 NOT NULL VARCHAR2(10)
COL2 NOT NULL VARCHAR2(20)
suxing@PROD>select * from T_IOT;
COL1 COL2
---------- --------------------
susky guanghzou
susu beijing
susu guanghzou
--檢視測試表yourtest結構與記錄:
suxing@PROD>desc yourtest;
Name Null? Type
----------------------------------------- -------- ----------------------------
ID NUMBER(3)
NAME VARCHAR2(6)
CREATED DATE
suxing@PROD>select * from yourtest;
ID NAME CREATED
---------- ------ ---------
125 susu 02-NOV-16
123 susky 02-NOV-16
124 hhhh 10-NOV-16
126 wwww 10-NOV-16
125 dddd 11-NOV-16
---嘗試進行union all集合查詢:
suxing@PROD>select * from t_iot
2 union all
3 select * from yourtest;
select * from t_iot
*
ERROR at line 1:
ORA-01789: query block has incorrect number of result columns
---建立一個測試表:
suxing@PROD>create table mytest
2 as select name,created
3 from yourtest;
Table created.
--檢視錶結構與記錄:
suxing@PROD>desc mytest;
Name Null? Type
----------------------------------------- -------- ----------------------------
NAME VARCHAR2(6)
CREATED DATE
suxing@PROD>select * from mytest;
NAME CREATED
------ ---------
susu 02-NOV-16
susky 02-NOV-16
hhhh 10-NOV-16
wwww 10-NOV-16
dddd 11-NOV-16
---嘗試再次進行union all集合查詢:
suxing@PROD>select * from t_iot
2 union all
3 select * from mytest;
select * from t_iot
*
ERROR at line 1:
ORA-01790: expression must have same datatype as corresponding expression
#要求對應欄位的資料型別要一致。
---透過查詢轉化created欄位的資料型別並進行union all集合查詢:
suxing@PROD>select * from t_iot
2 union all
3 select name,to_char(created) from mytest;
COL1 COL2
---------- --------------------
susky guanghzou
susu beijing
susu guanghzou
susu 02-NOV-16
susky 02-NOV-16
hhhh 10-NOV-16
wwww 10-NOV-16
dddd 11-NOV-16
8 rows selected.
#返回8條記錄。
--所以,當兩個表或者多個表有著相同欄位數的時候,當進行集合操作時,
需要把對應的的欄位資料型別轉化成相同的資料型別,長度不嚴格要求。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31392094/viewspace-2128505/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- python不同資料型別之間的區別有什麼?Python資料型別
- 不同資料型別在程式中的表現形式資料型別
- 不同Oracle資料庫之間的資料同步Oracle資料庫
- 如何比較兩個資料庫表結構的不同資料庫
- 把資料匯入到不同的表空間
- 如何把資料匯入不同的表空間
- Dcat Admin from 表單 點選不同型別展示不同資料型別
- 不同順序InBoundHandler之間的資料傳遞
- MongoDB在不同主機間複製資料庫和集合MongoDB資料庫
- 004.01 不同 Python 資料型別的搜尋Python資料型別
- 使用EXPDP IMPDP傳輸不同資料庫的不同表空間(新增網路傳輸)資料庫
- PLSQL Language Reference-PL/SQL資料型別-SQL資料型別-不同的最值大小SQL資料型別
- 不同使用者,不同表空間遷移
- PostgreSQL在不同的表空間移動資料檔案SQL
- oracle資料庫事務transaction 不同的鎖lock型別Oracle資料庫型別
- 不同資料型別與零值比較的if從句資料型別
- 使用exchange partition來交換不同schema之間的表
- 不同字符集資料庫之間的資料同步問題:資料庫
- postman(五):在不同介面之間傳遞資料Postman
- Redis常見的5種不同的資料型別詳解Redis資料型別
- For Update操作分析——不同Oracle版本之間的差異研究Oracle
- MYSQL建立多張表,相同表結構,不同表名MySql
- Python集合(set)型別的操作總結Python型別
- 不同型別資料運算型別
- 不同字符集資料庫之間的資料同步問題-補資料庫
- JS 中普通物件資料型別的基本結構和操作JS物件資料型別
- 資料庫系列:MySQL不同操作分別用什麼鎖?資料庫MySql
- 使用impdp實現資料在不同使用者、不同例項之間快速複製
- 不同資料庫間傳遞資料的問題資料庫
- python-資料型別之set集合Python資料型別
- 1.1.5 python基本資料型別之集合Python資料型別
- Java不同資料結構記憶體消耗比較Java資料結構記憶體
- Julia不同資料型別函式的內部程式碼比較資料型別函式
- 不同apk間共享資料的兩種方法APK
- Redis資料結構之整數集合Redis資料結構
- 在不同字符集的資料庫之間匯入資料的方法(轉)資料庫
- 讀資料湖倉03不同型別的資料型別
- 【MySQL資料型別2之--日期時間型別】MySql資料型別