功能 | 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','yyyymmddHH24miss') 結果都是 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邏輯實現 |
oracle sybase部分常用sql對比
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.