Oracle關於統計每天資料的總和時出現無效數字問題
首先,要求是,知道這個月資料總數,但是想知道每天分別的資料總數,先上表的欄位結構:
desc test1
名稱 空值 型別
------------- -- --------------
ID NUMBER
INC_DATETIME VARCHAR2(19) ---------------------------這個是插入時間,是varchar2格式,這個是問題關鍵點
RANDOM_ID NUMBER
RANDOM_STRING VARCHAR2(4000)
然後按照INC_DATETIME 查詢每天的資料的綜合,但是不得結果,SQL語句是:
select
to_char(INC_DATETIME ,'yyyyMMdd'),
count(id)
from
test1 m
group by
to_char(INC_DATETIME ,'yyyyMMdd')
order by
to_char(INC_DATETIME ,'yyyyMMdd');
提示的錯誤為:
ORA-01722: 無效數字
01722. 00000 - "invalid number"
*Cause:
*Action:
顯示無效數字,就是因為INC_DATETIME不是date型別,需要轉換為date型別才行,最後修改一下sql語句:
select
to_char(to_date(m.INC_DATETIME,'yyyy-MM-dd hh24:mi:ss'),'yyyyMMdd'),
count(id)
from
test1 m
group by
to_char(to_date(m.INC_DATETIME,'yyyy-MM-dd hh24:mi:ss'),'yyyyMMdd')
order by
to_char(to_date(m.INC_DATETIME,'yyyy-MM-dd hh24:mi:ss'),'yyyyMMdd');
這樣子才得正確的結果