數據庫常用函數(oracle和MySQL)
阿新 • • 發佈:2018-01-18
tin () sig group by tput 去重 from 字符 開頭
distinct : 去重復
MySQL :
①IFNULL(字段,0) :作用是 值為 NULL 則 ISNULL() 返回 0。
COALESCE(字段,0)與IFNULL(字段,0)用法一致。
group by 必須放在 order by 和 limit之前。
oracle :
①nvl(字段,0) :作用是 值為 NULL 則 ISNULL() 返回 0。其中0也可以是字段
②case when 條件1 then 結果1 when 條件2 then 結果2 else 結果3 end
作用:如果條件1成立則得到結果1,如果條件2成立則得到結果2,否則得到結果3
③decode(字段1,0,0,字段2/字段1)
作用:如果字段1為0則結果為0,如果字段1不為0結果則為字段2/字段1(判斷除數為用途較大)
另:decode中可使用其他函數,如nvl函數或sign()函數等;
④sign()函數根據某個值是0、正數還是負數,分別返回0、1、-1,
如果取較小值就是
select monthid,decode(sign(sale-6000),-1,sale,6000) from output,即達到取較小值的目的。
⑤wm_concat(distinct 字段1)
作用:將去重後的字段1匯總到一塊(可當做group by返回的字段一起使用)
另:substr(dno,1,instr(dno,‘,‘)-1)截取第一個,前的字符
substr(字段,1,3)=‘021‘ 表示以021開頭的字段
數據庫常用函數(oracle和MySQL)