常見函式
阿新 • • 發佈:2020-07-15
一、概述 功能:類似於java中的方法 好處:提高重用性和隱藏實現細節 呼叫:select 函式名(實參列表); 二、單行函式 1、字元函式 concat:連線 substr:擷取子串 upper:變大寫 lower:變小寫 replace:替換 length:獲取位元組長度 trim:去前後空格 lpad:左填充 rpad:右填充 instr:獲取子串第一次出現的索引 2、數學函式 ceil:向上取整 round:四捨五入 mod:取模 floor:向下取整 truncate:截斷 rand:獲取隨機數,返回0-1之間的小數 3、日期函式 now:返回當前日期+時間 year:返回年 month:返回月 day:返回日 date_format:將日期轉換成字元 curdate:返回當前日期 str_to_date:將字元轉換成日期 curtime:返回當前時間 hour:小時 minute:分鐘 second:秒 datediff:返回兩個日期相差的天數 monthname:以英文形式返回月 4、其他函式 version 當前資料庫伺服器的版本 database 當前開啟的資料庫 user當前使用者 password('字元'):返回該字元的密碼形式 md5('字元'):返回該字元的md5加密形式 5、流程控制函式 ①if(條件表示式,表示式1,表示式2):如果條件表示式成立,返回表示式1,否則返回表示式2 ②case情況1case 變數或表示式或欄位 when 常量1 then 值1 when 常量2 then 值2 ... else 值n end ③case情況2 case when 條件1 then 值1 when 條件2 then 值2 ... else 值n end 三、分組函式 1、分類 max 最大值 min 最小值 sum 和 avg 平均值 count 計算個數 2、特點 ①語法 select max(欄位) from 表名; ②支援的型別 sum和avg一般用於處理數值型 max、min、count可以處理任何資料型別 ③以上分組函式都忽略null ④都可以搭配distinct使用,實現去重的統計select sum(distinct 欄位) from 表; ⑤count函式 count(欄位):統計該欄位非空值的個數 count(*):統計結果集的行數 案例:查詢每個部門的員工個數 1 xx 10 2 dd 20 3 mm 20 4 aa 40 5 hh 40 count(1):統計結果集的行數 效率上: MyISAM儲存引擎,count(*)最高 InnoDB儲存引擎,count(*)和count(1)效率>count(欄位) ⑥ 和分組函式一同查詢的欄位,要求是group by後出現的欄位