MySql內(nèi)置了很多函數(shù)供我們調(diào)用,以便對(duì)數(shù)據(jù)更好加工、處理。
可大致可分為單行函數(shù)、聚合函數(shù)、控制流函數(shù)等等,今天小傅老師講講常用函數(shù)的用法。
l單行函數(shù)
單行函數(shù)針對(duì)每一行記錄都有返回結(jié)果
1.LOWER(str)方法是把大寫全轉(zhuǎn)成小寫

2.UPPER(str)方法把小寫全轉(zhuǎn)成大寫

3.NOW()取得系統(tǒng)日期(含時(shí)間)

4.ADDDATE(expr ,days )對(duì)指定的日期進(jìn)行加、減

5.CURDATE()返回當(dāng)前日期(不含時(shí)間)

6.DATE_FORMAT(date ,format )對(duì)日期格式化

l聚合函數(shù)
聚合函數(shù)是針對(duì)一組行進(jìn)行處理,用在分組操作的場(chǎng)景。
1.AVG(字段名)統(tǒng)計(jì)字段的平均值

2.MIN(字段名)統(tǒng)計(jì)字段的最小值

3.MAX(字段名)統(tǒng)計(jì)字段的最大值

4.SUM(字段名)統(tǒng)計(jì)字段的和

5.count(字段名)方法是統(tǒng)計(jì)指定字段的計(jì)數(shù)
統(tǒng)計(jì)ename的個(gè)數(shù)(含重復(fù)值,不含NULL值)

統(tǒng)計(jì)行數(shù)

注意:
聚合函數(shù)不像單行函數(shù)能出現(xiàn)在WHERE子句中,只能出現(xiàn)在GROUP BY與HAVING子句。
查詢平均工資高于1000的工種

以上的寫法是錯(cuò)誤的,我們應(yīng)該把過濾條件放在HAVING子句中。

l控制流函數(shù)
就一些比較復(fù)雜的處理,控制流函數(shù)可把數(shù)據(jù)進(jìn)行加工再處理。
1.IFNULL(expr1,expr2):如果expr1不是NULL,IFNULL()返回expr1,否則它返回expr2。

統(tǒng)計(jì)員工年薪(一年拿15個(gè))

2.IF(expr1,expr2,expr3)?:如果expr1是TRUE(expr1<>0且expr1<>NULL),那么IF()返回expr2,否則它返回expr3。

3.CASE…THEN相當(dāng)于JAVA的SWTICH語句
第一種寫法

第二種寫法
