oracle sybase部分常用sql對比

功能 oracle sybase
獲取系統時間 sysdate getdate()
if then else 功能 decode(item,
        if_1, value1,
        if_2, value2,
        
         default value) 
如果value值等於條件if_1 則選取value1
  否則如果等於條件if_2 則選取value2
  … 如果都不滿足則選取默認值default Value
:item 和 if_1只能是等於關係
case when condition1 then value1
     when condition2 then value2
     else defaultValu
end
判 null NVL(item,value)
如果item字段爲nul 則顯示value值
用case when then else end 實現
截取字符串 substr(string,起始位,終止位)
注:1或0都表示第一位
    終止位爲空,表示取到最後一位
substring(string,起始位,終止位)
注:1爲第一位,不能寫0,否則去不到數據
    參數一個都不能少
    取到最後一位用 char_length(item) 表示
判斷是否含有某字符串 instr(string,subStr,起始位置,匹配編號)
oracle中可以通過後兩個參數(起始位置,匹配編號進行更復雜的查詢判斷)
charindex(subStr,string)   :sybase和oracle子串和字符串位置相反
有關時間的操作    
將字符串轉換成時間格式 to_date('20070520','yyyymmdd')
或:to_date('20070520','yyyymmdd
HH24miss
')
結果都是 2007-5-20

to_date('20070520123000','yyyymmdd
HH24:mi:ss
')
或:to_date('20070520123000','yyyymmddHH24miss')
結果都是 2007-5-20 13:30:00
cast('20070520' as datetime)  日期字串只能到日
結果: 2007-05-20 00:00:00.0
日期差 日期格式(to_date)相減結果單位是天,且保留小數 datediff(單位,starttime,endtime)
單位包括:month,day,hour,minute,second 結果爲
整數
選擇較大(較小)值 greatest(字段1,字段2……)  取得最大的 用and邏輯實現
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章