nvl(expr1,expr2) - 檢查null,回傳參數1 or 2
ex: select nvl('a','b') from dual ==> a
select nvl(null,'b') from dual ==> b
to_number(string1) - 轉換文字型態為數字(varchar to number)
ex: select to_number('234') from dual ==> 234
to_date(string1,[foramt_mark],[nls_language]) - 轉換文字型態為日期格式(varchar to date)
ex: to_date('2009/07/09', 'yyyy/mm/dd') ==> 2009/7/9
to_date('20090709', 'yyyymmdd') ==> 2009/7/9
to_date('200907'),'yyyymm') ==> 2009/7/1
last_day(date1) - 日期月份的最後一天
ex: select last_day(sysdate) from dual ==> 月底,系統本月的最後一天
select last_day(add_months(sysdate,1)) from dual ==> 下個月月底
select last_day(sysdate)+1 from dual ==> 下個月1號
decode(條件, 條件1, 結果1, [條件2, 結果2]... [, default] ) - 條件等於條件1則傳回結果1,條件2則結果2,類似MSSQL 的 Case When應用。
ex: select decode('C','a1','a2','b1','b2','c1') from dual ==> c1
UPDATE UPDDATE= decode(PRICE,InputPRICE,UPDDATE,SYSDATE) ==> 我常用的語法,當輸入價格不同時,才更新Update
cast(column_name as DataType) - 變更欄位資料型態與長度
ex: select cast('1000' as number) from dual
select cast('abc' as varchar2(100)) from dual
instr(string1,string2) - 查詢字串位置
ex: select INSTR('aaabbbcdddeee','c') from dual ==> 7
沒有留言:
張貼留言