SELECT * FROM abc
WHERE trunc(VaryDate)=trunc(sysdate)
VaryDate--資料表欄位名稱
sysdate---系統時間
2012年3月7日 星期三
2011年12月13日 星期二
{Oracle} ORA CODE(持續更新;更新時間:10/01)
1.ORA-00913: too many values
前題:在INSERT INTO ABC@ccc.world SELECT * FROM ABC WHERE id = :Id
的語法下,產生ORA-00913
解惑:ABC@ccc.world Table欄位數與ABC Table欄位數不符而致
2.ORA-01795:
前題:SELECT * FROM ABC WHERE column in('1','2',.........................................)
解惑:因in語法中超過1000筆資料造成錯誤,其將語法改為 SELECT * FROM ABC WHERE
column in('1'......) or column in('1001',...............)
3.ORA-00904:invalid identifier
前題:SELECT * FROM ABC WHERE column='y'
解惑:語法中column名稱打錯,不在ABC Table中
4.ORA-01722:invalid number
前題:SELECT To_char(abc,'yyyy') FROM ABC
解惑:轉型失敗,查abc欄位內值是否有無法轉型的格式
5.ORA-00979: not a GROUP BY expression
前題:SELECT column2 FROM ABC GROUP BY column1
解惑: column1不在select list中,無法Group
6.ORA-01843:not a valid month
前題:SELECT TO_CHAR(columnDate,'yyyy-MM-dd') FROM ABC WHERE columnDate between '2012-1月-01' AND '2013-1月-01'
解惑: columnDate日期格式如有中文,勿直接Where中文格式;改寫為
SELECT TO_CHAR(columnDate,'yyyy-MM-dd') FROM ABC WHERE TO_CHAR(columnDate,'yyyy-MM-dd') between '2012-01-01' AND '2013-01-01';
前題:在INSERT INTO ABC@ccc.world SELECT * FROM ABC WHERE id = :Id
的語法下,產生ORA-00913
解惑:ABC@ccc.world Table欄位數與ABC Table欄位數不符而致
2.ORA-01795:
前題:SELECT * FROM ABC WHERE column in('1','2',.........................................)
解惑:因in語法中超過1000筆資料造成錯誤,其將語法改為 SELECT * FROM ABC WHERE
column in('1'......) or column in('1001',...............)
3.ORA-00904:invalid identifier
前題:SELECT * FROM ABC WHERE column='y'
解惑:語法中column名稱打錯,不在ABC Table中
4.ORA-01722:invalid number
前題:SELECT To_char(abc,'yyyy') FROM ABC
解惑:轉型失敗,查abc欄位內值是否有無法轉型的格式
5.ORA-00979: not a GROUP BY expression
前題:SELECT column2 FROM ABC GROUP BY column1
解惑: column1不在select list中,無法Group
6.ORA-01843:not a valid month
前題:SELECT TO_CHAR(columnDate,'yyyy-MM-dd') FROM ABC WHERE columnDate between '2012-1月-01' AND '2013-1月-01'
解惑: columnDate日期格式如有中文,勿直接Where中文格式;改寫為
SELECT TO_CHAR(columnDate,'yyyy-MM-dd') FROM ABC WHERE TO_CHAR(columnDate,'yyyy-MM-dd') between '2012-01-01' AND '2013-01-01';
2011年12月2日 星期五
{Oracle} join 語法-未完全
RIGHT JOIN:
寫法一、
select * from
(select charg from ABC where charg is not null order by charg desc)a
,
(select aufnr ,anred from CDE)b
where a.charg(+)=(substr(b.aufnr,6))
寫法二、
select id from
ABC A RIGHT JOIN CDE B
ON a.ID=b.ID
意義:
依CDE的表格為準,只要CDE有的,全列出來
參考:http://www.cnblogs.com/helong/articles/2088535.html
寫法一、
select * from
(select charg from ABC where charg is not null order by charg desc)a
,
(select aufnr ,anred from CDE)b
where a.charg(+)=(substr(b.aufnr,6))
寫法二、
select id from
ABC A RIGHT JOIN CDE B
ON a.ID=b.ID
意義:
依CDE的表格為準,只要CDE有的,全列出來
參考:http://www.cnblogs.com/helong/articles/2088535.html
訂閱:
文章 (Atom)