概念:類似於java的方法,將一組邏輯語句封裝在方法體中,對外暴露方法名 好處:1、隱藏了實現細節 2、提高代碼的重用性 調用:select 函數名(實參列表) 【from 表】; 1、字元函數 1.1、length 獲取參數值的位元組個數 SELECT LENGTH('john'); 1.2、con ...
概念:類似於java的方法,將一組邏輯語句封裝在方法體中,對外暴露方法名
好處:1、隱藏了實現細節 2、提高代碼的重用性
調用:select 函數名(實參列表) 【from 表】;
1、字元函數
1.1、length 獲取參數值的位元組個數
SELECT LENGTH('john');
1.2、concat 拼接字元串
1.3、upper、lower
示例:將姓變大寫,名變小寫,然後拼接
1.4、substr、substring
註意:索引從1開始
示例:截取從指定索引處後面所有字元
示例:截取從指定索引處指定字元長度的字元
案例:姓名中首字元大寫,其他字元小寫然後用_拼接,顯示出來
1.5、instr
返回子串第一次出現的索引,如果找不到返回0
1.6、trim
1.7、lpad
用指定的字元實現左填充指定長度
1.8、rpad
用指定的字元實現右填充指定長度
1.9、replace 替換
2、數學函數
2.1、round 四捨五入
2.2、ceil 向上取整,返回>=該參數的最小整數
2.3、floor 向下取整,返回<=該參數的最大整數
2.4、truncate 截斷
2.5、mod取餘
mod(a,b) : a-a/b*b
mod(-10,-3):-10- (-10)/(-3)*(-3)=-1
3、日期函數
3.1、now 返回當前系統日期+時間
3.2、curdate 返回當前系統日期,不包含時間
3.3、curtime 返回當前時間,不包含日期
3.4、可以獲取指定的部分,年、月、日、小時、分鐘、秒
3.5、str_to_date
將字元通過指定的格式轉換成日期
3.6、date_format
將日期轉換成字元
4、其他函數
SELECT VERSION();
SELECT DATABASE();
SELECT USER();
5、流程式控制制函數
5.1、if函數
5.2、case函數
方式一:
方式二:
6、分組函數
功能:用作統計使用,又稱為聚合函數或統計函數或組函數
分類:sum 求和、avg 平均值、max 最大值 、min 最小值 、count 計算個數
特點:
(1)sum、avg一般用於處理數值型
max、min、count可以處理任何類型
(2)以上分組函數都忽略null值
(3)可以和distinct搭配實現去重的運算
(4)count函數:一般使用count(*)用作統計行數
(5)和分組函數一同查詢的欄位要求是group by後的欄位
6.1、簡單使用
6.2、是否忽略null
6.3、和distinct搭配
6.4、count函數的詳細介紹
效率:
MYISAM存儲引擎下 ,COUNT(*)的效率高
INNODB存儲引擎下,COUNT(*)和COUNT(1)的效率差不多,比COUNT(欄位)要高一些
關註公眾號:Java後端生活,乾貨文章第一時間送達!