ORA-01790 錯誤處理
ORA-01790 錯誤處理
今天在練手的時候出現了一個ORA-01790 的錯誤,決定把他寫下來保留起來。
先來建立兩張測試用的簡單的表。
SQL> create table test01 (id number(3),name varchar2(12));
Table created.
SQL> create table test02 (id varchar2(6),name varchar2(12));
Table created.
分別插入一條記錄用來測試。
SQL> insert into test01 values (100,'baidu');
1 row created.
SQL> insert into test02 values ('101','sina');
1 row created.
SQL> commit;
Commit complete.
執行帶union 或者union all 的語句。
SQL> select id,name from test01
2 union
3 select id,name from test02;
select id,name from test01
*
ERROR at line 1:
ORA-01790: expression must have same datatype as corresponding expression
出現上述錯誤的原因是因為 test01 中的id 列的定義是number,而test02 中id 列的定義
是varchar2。所以在union 或者union all 的時候造成了資料型別不一致。出現上述錯誤應該根據不同的情況使用不同型別轉換函式,比如to_char,to_number,to_date
改寫上面的語句:
SQL> select to_char(id) as id,name from test01
2 union
3 select id,name from test02;
ID NAME
---------------------------------------- ------------
100 baidu
101 sina
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26110315/viewspace-720134/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 錯誤處理
- PHP 錯誤處理PHP
- php錯誤處理PHP
- Go 錯誤處理Go
- Swift錯誤處理Swift
- Zabbix錯誤處理
- mysqldump錯誤處理MySql
- 錯誤處理:如何通過 error、deferred、panic 等處理錯誤?Error
- PHP錯誤處理和異常處理PHP
- go的錯誤處理Go
- Python錯誤處理Python
- 異常錯誤資訊處理
- PHP 核心特性 - 錯誤處理PHP
- 常用模組 PHP 錯誤處理PHP
- laravel9 錯誤處理Laravel
- 淺談前端錯誤處理前端
- Oracle異常錯誤處理Oracle
- ORACLE 異常錯誤處理Oracle
- 15-錯誤處理(Error)Error
- 學習Rust 錯誤處理Rust
- axios 的錯誤處理iOS
- Go語言之錯誤處理Go
- GOLANG錯誤處理最佳方案Golang
- Objective-C:錯誤處理Object
- javascript之處理Ajax錯誤JavaScript
- 搭建dataguard時,錯誤處理
- Oracle錯誤處理思路(一)Oracle
- COM的錯誤處理 (轉)
- 使用PHP錯誤處理 (轉)PHP
- openGauss 處理錯誤表
- 【UNION】ORA-01790錯誤模擬及分析一例
- Python錯誤處理和異常處理(二)Python
- 【故障處理】CRS-1153錯誤處理
- 【故障處理】ORA-19809錯誤處理
- rust學習十、異常處理(錯誤處理)Rust
- oracle ora-00054錯誤處理Oracle
- 程式錯誤型別及其處理型別
- 請教 Element 的錯誤處理