MySQL筆記——常見函數

一、概述
功能:類似於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 最小值
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後出現的字段

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章