Oracel Code

Ashnazug

Mitglied
moin moin

Ich hab da eine Frage zu SQL Querys die ich an einen Oracel Server Sende.
Und zwar hab ich da so was wie "SELECT Tabelle.Feld AS Alyas From Tabelle;", das muss so sein da ich in Verschiedenen Tabellen Felder mit den Selben Namen habe.
Nun zum Punkt, Dieses Alyas enthält Sonderzeichen, von anderen SQLs her weis ich das man diese Namen in [ ] setzten muss, das funktioniert bei mir aber nicht ich krieg immer die fehlermeldung "FROM not found where expectet". Sobald ich alle Sonderzeichen weg lasse gehts dann natürlich.
Kann mir jemand sagen wie ich diese Sonderzeichen in den Namen bekomme ohne das es Fehler erzeugt?
 
Nimm doch nen Alias OHNE Sonderzeichen ? Da haste im Nachhinein vielleicht wieder Probleme mit ;)

Sonderzeichen gehen so


PHP:
SELECT tabelle.spalte AS "ab.cd.%.dd&" FROM tabelle
 
Zuletzt bearbeitet:
also

Das mit den Sonderzeichen geht jetzt :) .
Nun hab ich noch eine Frage. Wie kann ich in einen Query einen Feldinhalt nach Long (Zahlentyp) convertieren um danach im selben Query damit rechnen zu können?
 
RTFM ;) (Read the fuckin' manual) ^^

Wie komst du an eine ORA DB? Dann haste bestimmt auch Zugriff auf eine umfangreiche Doku. Da steht, wie man welchen Typ wohin konvertiert.

Mir schwirrt im Kopf gerad nur
PHP:
TO_NUMBER('100.00', '9G999D99')

herrum.
 
Nein
Es ist nicht meine DB und es ist auch nicht mein Sever, daher habe ich auch keine Doku.
Ich interpretier das TO_NUMBER mal so:
TO_NUMBER('Format', 'Spalte').
 
hmm,

falsch,
das bedeutet ToNUMBER(Spalte,FORMAT) , also genau umgekehrt. Und bitte schreib Oracle nicht Oracel.
 
ok
Das ToNUMBER geht jetzt :) .
Jetzt die nächsten Fragen:
1. Ich kenne sowas wie "SELECT Tabelle.Spalte AS Alyas From Tabelle WHERE Alyas = 100". Den Befehl AS scheint i.o. zu sein aber ich kann ihn danach nicht weiter verwenden, soll heissen das die WHERE Bedingun nur funktioniert wenn ich wieder Tabelle.Spalte angebe. Mach ich da was Falsch oder geht das generell nicht?
2. Ich kenne "Tabelle INNER JOIN ON Tabelle.Spalte = Tabelle.Spalte", aber auch da reklamier er. Ich mach da was falsch oder?
 
zu 1. nein, geht NICHT, das es vorkommen kann, dass in der WHERE Klausel der Spaltenname noch nicht eindeutig ist oder so. Deshalb ist das nich möglich.

zu 2. RTFM again


ORACLE DOKUMENTATION


Such die die doku zu deiner Version raus. Da findest du am besten, wie die JOIN Syntax in deinem Fall zu bnutzen ist.
 
Zurück