2016-10-04 80 views
-2

這裏是我的查詢,ORA-01858:一個非數字字符被發現,其中一個數字預計

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') 

當我運行JSP頁面上此查詢其顯示非數字字符被發現,其中一個數字是預期的。

+0

'selectedobstime'的實際值是多少?不管它是什麼似乎都不是你所指定的格式。爲什麼在兩個相同值的副本之間搜索? –

+0

你的變量值是多少? – Pirate

+0

什麼是緯度和緯度的數據類型 – Jens

回答

0

如果您的實際值爲selectedobstime,如您在評論中似乎建議的那樣,'2001-08-20 AM 11:43:00'那麼它的格式不是mm/dd/yyyy hh24:mi:ss

您將需要使用的格式模型,如:需要

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

的AM/PM指示,你需要12小時HH而不是小時部分24小時HH24Read more about date/time format elements

+0

@Sony - 如果你不告訴我們你的JSP實際價值是什麼,我不能幫你。有人輸入價值嗎?如果是的話,他們到底進來了什麼? –

+0

@索尼 - 這不是這個網站的工作原理。這個問題需要相關信息。您未顯示的重要內容是*實際字符串值是什麼*。 –

+0

我們需要'selectedobstime'字符串的**實際值**。您正嘗試將其轉換爲日期以匹配表格列。沒關係。但是'to_date()'中使用的格式掩碼必須與您要轉換的實際字符串值匹配。 –

相關問題