2014-02-16 37 views
-1

我注意到在這裏相同的主題,但我只是找不到答案,因爲我在數據庫noob技巧,我嘗試了幾個答案,但沒有工作,道歉。ORA-01722:一個簡單的查詢無效的數字

我有5個表和觸發器爲他們每個人,如果用戶INSERT,UPDATE,DELETE

我插入TRAFFIC, (date (varchar30), input_quant (varchar30), output_quant (varchar30), status (varchar30))

數據之後,我已經嘗試了簡單的查詢

select sum (input_quant)status from traffic; 

但是錯誤彈出:

ORA-01722: invalid number 
01722. 00000 - "invalid number" 
*Cause:  
*Action: 

是嗎?由於類型(VARCHAR)?

在表TRAFFIC和SUPPLY中,我必須禁用FK才能插入數據,但現在我插入了它們,我無法啓用它們(父鍵未找到)。我不認爲這與「INVALID NUMBER」錯誤有關。但我仍然困惑。我該怎麼辦?

+1

01722是不被轉換的數量,但該錯誤號碼。否則你是對的。 – Codo

+5

做**不**將數字存儲在'varchar'列中。改用適當的'數字'數據類型。 –

+0

列中的值爲'1,020,0,340 ....'等等。我嘗試切換到鍵入'數字',但我現在得到相同的錯誤,當我嘗試導入數據。 – Sasa

回答

0

嘗試count()而不是sum(),sum是每個input_quant值的數字值。 count()是返回記錄的返回數量。

薩姆()的工作原理,當數據類型是數字