Oracle
 sql >> база данни >  >> RDS >> Oracle

Грешка при несъответствие на набор от знаци в Oracle

тъй като потвърдихте, че някои неща са NVARchar'd ..прехвърляне на nvarchar към char, напр.

SQL> create table tab(a nvarchar2(2));

Table created.

SQL> insert into tab values ('a');

1 row created.

SQL> select 1, 'hi' from dual
  2  union all
  3  select 2, a from tab;
select 1, 'hi' from dual
          *
ERROR at line 1:
ORA-12704: character set mismatch

не успее, тъй като "A" е NVARCHAR. така че to_char it:

SQL> select 1, 'hi' from dual
  2  union all
  3  select 2, to_char(a) from tab;

         1 'HI'
---------- ----
         1 hi
         2 a

или прехвърлете низовия литерал 'hi' към Nvarchar

   SQL> select 1, n'hi' from dual
      2  union all
      3  select 2, a from tab;

             1 N'
    ---------- --
             1 hi
             2 a


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как мога да добавя водещи нули към дати в Oracle?

  2. Java Multicast Time To Live винаги е 0

  3. Как да създадете таблица в Oracle SQL Developer?

  4. WIDTH_BUCKET() Функция в Oracle

  5. изпрати променлива тип REFCURSOR към Oracle Съхранена процедура от Java