使用函數(shù)的好處:
1.隱藏了實(shí)現(xiàn)的細(xì)節(jié)
2.提高代碼的重用性
字符函數(shù)
- Length()
用來(lái)統(tǒng)計(jì)長(zhǎng)度

可以是字段:

-
Concat()
拼接字符串
image.png

如果CONCAT拼接的是字段,那么字段之中只要有NULL,結(jié)果就為NULL
-
Upper()、Lower()
Upper:變大寫(xiě)
image.png
image.png
Lower:變小寫(xiě)

可以一起使用:

- Substr()、Substring()
MySQL的索引下標(biāo)是從1開(kāi)始
截取從指定索引處后面的所有字符:
image.png
截取從指定索引處指代字符長(zhǎng)度的字符:
image.png
-
Instr()
返回子串第一次出現(xiàn)的索引,如果找不到,返回0
image.png
image.png
返回的是起始索引
-
Trim()
去前后,默認(rèn)去除前后空格,可以指定去除
image.png
中間有一個(gè)FROM:
image.png -
Lpad()
用指定的字符實(shí)現(xiàn)左填充至指定長(zhǎng)度
image.png -
Rpad()
用指定的字符實(shí)現(xiàn)右填充至指定長(zhǎng)度
image.png
-
Replace()
替換
image.png
數(shù)學(xué)函數(shù)
-
ROUND()
四舍五入
image.png -
CEIL()
向上取整,返回大于等于該參數(shù)的最小整數(shù)
image.png
image.png -
FLOOR()
向下取整,返回小于等于該參數(shù)的最大整數(shù)
image.png
image.png -
TRUNCATE()
截?cái)嘀付ㄐ?shù)點(diǎn)后幾位
image.png
- MOD()
取余
image.png
被除數(shù)如果為負(fù),則結(jié)果為負(fù)
image.png
MOD(a,b)相當(dāng)于:a-a/b*b
日期函數(shù)
-
NOW()
返回當(dāng)前的系統(tǒng)時(shí)間+日期
image.png -
CURDATE()
返回當(dāng)前系統(tǒng)日期,不包含時(shí)間
image.png -
CURTIME()
返回當(dāng)前系統(tǒng)時(shí)間,不包含日期
image.png -
YEAR()
獲取指定的年的部分
image.png -
MONTH()
獲取指定的月的部分
image.png -
MONTHNAME()
獲取指定的月的部分的英語(yǔ)月份
image.png
補(bǔ)充格式符
| 格式符 | 含義 |
|---|---|
| %Y | 四位的年份(1997) |
| %y | 兩位的年份(97) |
| %m | 月份(03) |
| %c | 月份(3) |
| %d | 日(05) |
| %H | 小時(shí)(24小時(shí)制) |
| %h | 小時(shí)(12小時(shí)制) |
| %i | 分鐘(00) |
| %s | 秒(00) |
-
STR_TO_DATE()
將日期格式的字符轉(zhuǎn)換成指定格式的日期
image.png -
DATE_FORMAT()
將日期轉(zhuǎn)換成字符
image.png
控制流函數(shù)
-
IF
或是IF ELSE,ELSE可以省略
image.png
含義:如果100>50的結(jié)果值是對(duì)的,顯示larger,否則顯示smaller

- CASE
格式:
CASE 要判斷的字段或表達(dá)式
WHEN 常量1 或 要顯示的語(yǔ)句1;(如果是語(yǔ)句,要寫(xiě)分號(hào))
WHEN 常量2 或 要顯示的語(yǔ)句2;(如果是語(yǔ)句,要寫(xiě)分號(hào))
。。。
ELSE 要顯示的值n 或 語(yǔ)句n;
END

分組函數(shù)
以下分組函數(shù)都忽略Null值,且可以與DISTINCT搭配使用,比如平均AVG()函數(shù),表中如果有五行,三行為空,那么計(jì)算出來(lái)的值是除以2而不是除以5的
-
SUM()
求和,一般用于處理數(shù)值型
image.png
-
AVG()
計(jì)算平均值,一般用于處理數(shù)值型
image.png -
MAX()、MIN()
求最大值,最小值
image.png
image.png -
COUNT()
COUNT()函數(shù)是用來(lái)計(jì)數(shù)的
image.png
一般使用COUNT() 來(lái)計(jì)數(shù),相當(dāng)于在查詢的表中加了一列,在計(jì)數(shù)*的數(shù)量
image.png
其他函數(shù)
-
VERSION()
查看當(dāng)前MySQL的版本
image.png -
DATABASE()
查看當(dāng)前的數(shù)據(jù)庫(kù)
image.png -
USER()
查看當(dāng)前的用戶
image.png
其他:
可以用SHOW VARIABLES LIKE "%char%"命令,查看MySQL字符集






































