Einzelnen Beitrag anzeigen

Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#10

Re: Oracle: column = 'N' geht nicht, column <> 'J' geh

  Alt 11. Apr 2007, 14:52
Zitat von Phoenix:
Hrm.. mit Trim geht es, genauso wie auch mit substr(feld,1,1)...
Dann ist es ein Unicode problem.
Funktionen arbeiten bereits mit dem Client-seitigen CharSet.
In den Tabellen sind die Daten aber als Unicode drin (NVarChar).
Wie man Oracle so kennt gibt es halt immer wieder komplett sinnlose und nicht nachvollziehbare Macken. Das Ergebnis einer Funktion und die Ausgabe einer Spalte direkt aus einer Tabelle können verschiedene Charsets haben.
Zitat:
Echt Seltsam... wie gesagt: Wir sind hier so langsam am Ende mit unserem Latein...
EIGENTLICH müsste das mit dem einfachen '=' ja klappen, wenn ein != bzw. ein <> tut. und bei Elvis scheints auch zu gehen? Echt sonderbar.
Was sagt SQL+ ?
Was sind die Char sets auf Client und Server?

Nachtrag:
@dfried
Nope, Trim ist eine Art compiler magic, die nicht nur für CLob und VarChar existiert. Packst du NVarChar rein wirst du auch NVarChar rauskriegen.
Wäre ja schlimm, wenn man keine Unicode-Werte trimmen könnte.


Zitat von Phoenix:
Nein. PL/SQL indiziert bei Subtsr ab 1.
Beispiel:
substr('Test Informatik', 1, 6)
Ergebnis: 'Test I'
dfried hat schon Recht. SubStr(mööp,1,1) gibt das erste Zeichen.
Da die Umwandlung innerhalb des Servers passiert (die Session läuft im client Char set), wird es auch korrekt behandelt.

edit#15000: Warum landen ständig Kommas in meinem Text?
Robert Giesecke
I’m a great believer in “Occam’s Razor,” the principle which says:
“If you say something complicated, I’ll slit your throat.”
  Mit Zitat antworten Zitat