1. 程式人生 > 實用技巧 >常見函式

常見函式

一、概述
功能:類似於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情況1
case 變數或表示式或欄位 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 最小值 sumavg 平均值 count 計算個數 2、特點 ①語法 select max(欄位) from 表名; ②支援的型別 sum和avg一般用於處理數值型 maxmin、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後出現的欄位