1. 程式人生 > >MySQL(六)DQL之常見函數

MySQL(六)DQL之常見函數

http c4c count函數 mod tab 向上取整 eight innodb 字段

概念:類似於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後端生活,幹貨文章第一時間送達!

技術分享圖片

MySQL(六)DQL之常見函數