ORA-01858: ein nicht numerisches Zeichen wurde gefunden, wo ein numerisches erwartet wurde - oracle 10g
Meine Frage ist:
Für jeden Konferenz -, Anzeige-Konferenz-Titel und die Worte "Ersten Amtszeit", wenn die Konferenz fand vor July1, 2012 oder die Worte "Zweite Amtszeit", wenn die Konferenz statt, die am oder nach dem July1,2012. Für die Spalte mit den Worten "First term" oder "Second term" stellen Sie eine header-Begriff.
Die Tabelle zugeordnet ist
CONFID TITLE LOCATION SDATE
------ -------------------- -------------------- ---------
c00001 Hydroinformatics Singapore 15-JUN-12
c00002 Ecological_modeling Berlin 15-JUL-12
c00003 Computational_M London 25-MAY-12
c00004 Ecoinformatics Boston 22-AUG-12
c00005 Uncertainty_analysis Athens 10-OCT-12
c00006 Large_databases Toronto 13-APR-12
c00007 Systems_analysis Boston 23-MAR-12
c00008 Systems_integration Tokyo 24-FEB-12
c00009 Aquatic_biology Helsinki 12-MAY-12
c00010 Information_systems Paris 08-JAN-12
c00011 Simulation_modeling Rome 01-SEP-12
c00012 DSS Melbourne 18-DEC-12
Die sql-Anweisung, die ich geschrieben habe, ist:
select C.Title, 'First term' as "Term"
from Conference_C C
where C.ConfID in (select C.Sdate
from Conference_C C
where C.Sdate < '1-July-12')
union
select C.Title, 'Second term' as "Term"
from Conference_C C
where C.ConfID in (select C.Sdate
from Conference_C C
where C.Sdate >= '1-July-12');
Bekomme ich die folgende Fehlermeldung:
select C.Title, 'First term' as "Term" from Conference_C C where C.ConfID
*
ERROR at line 1:
ORA-01858: a non-numeric character was found where a numeric was expected
Bitte klären Sie, wohin ich gehe falsch, jede Hilfe würde geschätzt werden.
Danke
- OMG kann Sie formatieren Sie Ihre Abfrage besser?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sie einen Vergleich der
ConfID
(eine Zahl), um eineSdate
(Datum) zurückgegeben wird, die von Ihrem inneren Abfrage:Alles, was Sie brauchen, ist eine einfache SQL folgendermaßen:
Auch, da die beiden Teile der
union
schließen sich gegenseitig aus, eineunion all
verwendet werden kann (die bessere, weil Sie nicht haben, zu beseitigen Duplikate)