簡體   English   中英

錯誤 ORA-01858:在運行查詢時應為數字的位置發現了非數字字符

[英]Error ORA-01858: a non-numeric character was found where a numeric was expected when running query

01858:在需要數字的地方發現了非數字字符

select project_name, my_date, sum(records_number) as 
from (
select project_name, 
  case 
    when :P33_RG = 'Daily' then
      to_char(date_sys, 'MM/DD/YYYY') 
    when :P33_RG = 'Weekly' then
      to_char(TRUNC(date_sys, 'IW'), 'MM/DD/YYYY')
  end as my_date,  
  BATCH.RECORDS_NUMBER
from BATCH
where date_sys between :P33_START_DATE and :P33_END_DATE
) my_records
group by project_name, my_date
;

:P33_START_DATE 和:P33_END_DATE 具有來自日期選擇器的日期值,而:P33_RG 是一個 varchar。

任何修復錯誤的建議將不勝感激! 謝謝

我會說您應該使用適當的格式模型將日期選擇器值“轉換”為DATE數據類型。 如果它遵循您已經發布的內容,那就是

       WHERE date_sys BETWEEN TO_DATE ( :P33_START_DATE, 'mm/dd/yyyy')
                          AND TO_DATE ( :P33_END_DATE  , 'mm/dd/yyyy')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM