Mismatch-Fehler bei Zeichensatz in Oracle

8

Ich habe folgende Abfrage mit mir, dass ich versuche zu laufen:

%Vor%

Aber es gibt mir ORA-12704: character set mismatch error.

Wenn ich die select-Anweisung einzeln ausführe, gibt es mir eine korrekte Ausgabe, aber wenn ich die Vereinigung von beiden wähle, gibt es einen falschen Zeichensatz-Übereinstimmungsfehler.

Was kann hier falsch sein?

    
Soham Shah 13.11.2012, 01:37
quelle

3 Antworten

10

Wie Sie einige Dinge bestätigt haben, sind NVARchar'd .. Übertragen Sie den Nvarchar auf char zB

%Vor%

schlägt fehl, da "A" NVARCHAR ist. So, um es zu chartern:

%Vor%

oder wirf das String-Literal 'hi' auf ein Nvarchar

%Vor%     
DazzaL 14.11.2012 01:30
quelle
1
%Vor%

Ich habe gerade TO_CHAR-Funktionen hinzugefügt, und das wird funktionieren. Offensichtlich haben Sie Felder mit Zeichendatentypen, die von Oracle nicht implizit umgewandelt werden können. Sie müssen sie also nur explizit selbst umsetzen, vermeiden Sie jedoch jeden Zeichenverlust aufgrund von Cast.

    
mostafa.S 13.11.2012 05:40
quelle
0

Wenn Sie diesen Fehler machen, sollten Sie zwei Bedingungen betrachten.

  1. Alle Spaltennamen oder Aliasnamen müssen für alle Tabellen identisch sein
  2. Alle Spalten müssen vom selben Typ sein TableA (col NVARCHAR2), TableB (col NVARCHAR2)
egemen 26.03.2016 11:58
quelle

Tags und Links