1. 程式人生 > >10 ORA系列:ORA-12704 字符集不匹配 character set mismatch

10 ORA系列:ORA-12704 字符集不匹配 character set mismatch

如果希望對常見的Oracle異常ORA報錯解決方案有系統的瞭解,請看《ORACLE系列異常總結ORA》。

關於Union 中 ORA-12704:字符集不匹配 character set mismatch

在使用Union all連線時,若A集合中某列為nvarchar2或nvarchar型別,而B集合中無此列,用‘ ’ 來代替是會報字符集不匹配。

解決方法有三種,見下面的示例

例:

select '中國', 'China', cast('中國' as nvarchar2(10)) T

  from dual

union all

select '美國', 'USA', ''

  from dual;

如上,T的型別為nvarchar2,長度為10,如果直接這樣查詢,就會報字符集不匹配,那麼怎麼來處理呢?

1.to_char()

select '中國', 'China', to_char(cast('中國' as nvarchar2(10))) T

  from dual

union all

select '美國', 'USA', ''

  from dual;

2. 用N' ',N''是將‘’轉換為Unicode編碼

select '中國', 'China', cast('中國' as nvarchar2(10)) T

  from dual

union all

select '美國', 'USA', N''

  from dual;

3.使用cast()將字符集轉換為相同

select '中國', 'China', cast('中國' as nvarchar2(10)) T

  from dual

union all

select '美國', 'USA', cast('' as nvarchar2(10)) T

  from dual;

這樣就可以解決字符集不匹配問題了

相關推薦

10 ORA系列ORA-12704 字符集匹配 character set mismatch

如果希望對常見的Oracle異常ORA報錯解決方案有系統的瞭解,請看《ORACLE系列異常總結ORA》。 關於Union 中 ORA-12704:字符集不匹配 character set mismatch 在使用Union all連線時,若A集合中某列為nvarc

ORA-12704:字符集匹配

在使用union all連線時,若A集合中某列為nvarchar2或nvarchar2型別,而B集合中無此列,用 ''來代替或者說B集合中此列為varchar2型別,會報字符集不匹配的錯誤, 如下: [email protected]> select cas

Oracle中 Union 中 ORA-12704:字符集匹配問題的解決

錯誤原因 在使用Union 連線時,若A集合中某列為nvarchar2或nvarchar型別,而B表或者更多表對應的是varchar2或者是varchar型別時,則會報ORA-12704:字符集不匹配

交叉報表列頭排序時遇到的oracle問題—oracle ORA-12704:字符集匹配、varchar2轉化為nvarchar2字元缺失、case when else後的字元型別要一致

在做交叉報表列頭的排序時,遇到這三個問題,下面具體來說一下。 設計的資料庫的表結構如圖1所示: 圖1 要處出來student_name_,s.grade_,s.subject_name_,這三個屬性,當時我是這樣寫的sql語句: select  s.student_nam

ORA-01861 文字與格式字串匹配

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

【實踐經驗】ORA-01861_文字與格式字串匹配

【實踐經驗】 一次在查詢的時候,出現如圖錯誤: 開始以為是to_date的格式不對,還以為是字串的格式,使用了to_char。然後還改了between and. 依然報錯, 最後

ORA-01861 文字與格式字串匹配

也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!                author:skatetime:2008/07/28現象:Oracle 插入時間時 ,報錯:ORA-01861: 文字與格式字串不匹配 解決方法:這個錯誤一般

ORA-01861: 文字與格式字串匹配,ORA-01722: 無效數字

SQL> create table Student(   2         id varchar2(20) primary key,   3   &

錯誤系列列在此處允許

SQL> insert into topic_final_result values(1209,1209,2000,to_date('2010-8-3','yyyy-MM-dd'),to_date('2010-8-3','yyyy-MM-dd'),'7;0;23;',8

ORA-01861: 文字與格式字串匹配;literal does not match format string;

問題描述: 儲存系統當前時間,精確到時分秒 錯誤sql time date型別欄位 update t_table SET time = to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') 報錯資訊: ORA-01861: 文字與格式字串不匹配

ORA-01861: 文字與格式字串匹配 報錯處理

建立下面的物化檢視報錯 create materialized view BBB refresh complete on demand as select a.vbillcode, b.invname, del.exchdate  from [email prot

解決ora-01861文字與格式字串匹配

http://hi.baidu.com/voeuhtmvhzfknte/item/94dc7f16d706b7a4feded5bf 一般是資料庫 時間格式 不匹配   看 sql語句與傳進去的值是否匹配  本人的sql語句為   insert into SMS_MO(aa

漫談程式設計師系列程式設計師該該考慮初創公司

    IT 這個行業,最不缺的就是機會,追逐機會的,有各種各樣的小公司,也有各種種樣的程式設計師。 創業公司 每一個出來創業的人,心中都充滿了希望和夢想,而且認為自己眼光獨到,手段高超,一定能夠逐浪潮頭。 可是,創業成功的概率到底有多大?十分之一,還是百分之一? 熙熙攘攘的創業大軍,在網際網路的江湖裡

Orcal資料庫中ORA-01861: 文字與格式字串匹配

今天在比對資料庫表中的時間發生了ORA-01861:文字與格式字串不匹配的錯誤。 開始我以為sql語句寫錯了,仔細檢查了一下,並沒有發現錯誤,後來看了表中的時間欄位存的資料,發現有的是2015-2-18 12:03:12,有的是2015-2-19。 顯然用to_date(time, 'yyyy-mm

ORA-01861: 文字與格式字串匹配

今天在比對資料庫表中的時間發生了ORA-01861:文字與格式字串不匹配的錯誤。 開始我以為sql語句寫錯了,仔細檢查了一下,並沒有發現錯誤,後來看了表中的時間欄位存的資料,發現有的是2015-2-18 12:03:12,有的是2015-2-19。 顯然用to_da

ORA-12704: character set mismatch問題、以及處理wm_concat函式clob亂碼問題

<pre name="code" class="html"> 在utf8資料庫裡編譯儲存過程,遇到這個問題. oracle9206 sql: [做了簡化] select a from t1 union all select '1' from t2; 其中t1.a

Oracle ora-06861: 文字與格式字串匹配

問題描述: 表時間欄位儲存的是varchar2型別,使用sql語句做時間條件查詢的時候出現 ora-06861: 文字與格式字串不匹配。原語句如下: select v.tid

OracleORA-01789: 查詢塊具有正確的結果列數 分析原因和解決辦法

一、分析原因 union指令的目的是將兩個sql語句的查詢結果合併起來, 可以檢視你要的查詢結果 。 但是要注意使用union連線的兩個sql 語句的欄位型別 、 欄位個數 、 欄位名要求完全匹配 。 union在進行表連線後會對產生的結果進行排序運算 , 刪除重複資料後返回結

1.問題一在oracle中,連續十次嘗試登陸成功,那麼此賬戶將會被鎖定(lock)。當使用被鎖定的賬戶登入時,系統會報錯ORA-28000: the account is locked。

解決思路: 以管理員的身份登入,即以sys或者system登入資料庫; 使用命令解鎖使用者:alter user 這裡是使用者名稱 account unlock; 重置密碼:alter user 這裡是使用者名稱 identified by 這裡是重置的密碼; 重新登入即可。

ORA-22922存在的 LOB 值

ORA-22922:不存在的 LOB 值 開發中遇到的奇怪問題,寫個SQL語句,在plsql中查詢沒問題,在java中呼叫會報如 上錯誤,查了一些資料,沒看太明白,只是說WM_CONCAT()函式和group by、 distinct、union關鍵字聯合使用時,會有這個問題。先記錄