2016-10-04 1 views
-2

Hier ist meine Frage,ORA-01858: ein nicht-numerischen Zeichen gefunden wurde, in dem ein numerisches erwartet wurde

select count(*) from "+table1+" where 
    latitude = '"+selectedlat+"' and  
    longitude = '"+selectedlong+"' and 
    observation_date between TO_DATE('"+selectedobstime+"','mm/dd/yyyy hh24:mi:ss') AND 
    TO_DATE('"+selectedobstime+"','mm/dd/yyyy hh24:mi:ss') 

Wenn ich diese Abfrage leite auf jsp Seite seiner zeigt nicht-numerischen Zeichen gefunden wurde, wo ein numerisch wurde erwartet.

+0

Was ist der tatsächliche Wert für 'selectedbstime'? Was auch immer es ist, scheint nicht in dem Format zu liegen, das Sie angegeben haben. Und warum suchst du zwischen zwei Kopien des gleichen Wertes? –

+0

Was sind Ihre Werte für die Variablen? – Pirate

+0

Und was ist der Datentyp von Breite und Breite? – Jens

Antwort

0

Wenn Ihr aktueller Wert für selectedobstime ist, wie Sie in einem Kommentar, '2001-08-20 AM 11:43:00' vorschlagen, dann ist das nicht im Format mm/dd/yyyy hh24:mi:ss.

Sie müßten ein Format Modell verwenden wie:

TO_DATE('"+selectedobstime+"','yyyy-mm-dd AM hh:mi:ss') 

Die AM/PM-Anzeige benötigt wird, und Sie müssen die 12-Stunden-HH anstatt die 24-Stunden-HH24 für die Stunde Teil. Read more about date/time format elements.

+0

@Sony - Ich kann Ihnen nicht helfen, wenn Sie uns nicht sagen, was Ihr tatsächlicher Wert von JSP ist. Gibt jemand den Wert ein? Wenn ja, was genau betreten sie? –

+0

@Sony - so funktioniert diese Seite nicht. Die Frage benötigt die relevanten Informationen. Das Wichtigste, was Sie nicht gezeigt haben, ist * was der tatsächliche Stringwert ist *. –

+0

Wir brauchen den ** tatsächlichen Wert ** der 'selectedbstime' Zeichenkette. Sie versuchen, das zu einem Datum zu konvertieren, um der Tabellenspalte zu entsprechen. Das ist gut. Aber die Formatmaske, die Sie in 'to_date()' verwenden, muss mit dem tatsächlichen Zeichenfolgenwert übereinstimmen, den Sie zu konvertieren versuchen. –

Verwandte Themen