MySQL函式(一)
一、數學函式
1.ASB(X)
描述:返回X的絕對值
應用:SELECT ABS(-1)
2.MOD(N,M)
描述:模運算。返回N除以M的餘數
應用:SELECT MOD(10,3)
3.ROUND(X),(X,D)
描述:保留小數點位數。X代表實際值,D代表小數點位數。預設使用四捨五入
如果D未指定,則預設為0
SELECT ROUND(11.1)
D可以為負數,如果未負數,則對X的最後一位進行四捨五入。
SELECT ROUND(14,-1)
4.TRUNCATE(X,D)
描述:與ROUND(X,D)用法相同。
與ROUND的區別:
如果不需要小數位,必須手動指定D為0。不提供TRUNCATE(X)的寫法
只提供四捨五入
二、流程控制函式
1.CASE WHEN THEN ELSE END
語法:
CASE 欄位 WHEN 欄位的值 THEN 結果 [WHEN 欄位的值 THEN 結果 …] [ELSE 結果] END 欄位名或者別名
CASE WHEN 條件語句 THEN 結果 [WHEN 條件語句 THEN 結果 …] [ELSE 結果] END 欄位名或者別名
描述:這個類似於java中的if語句,並且這個函式大致有三種方式,類似於if(),if() else,if() else if() else;
應用:
只有一個流程分支
SELECT NAME,age, CASE sex WHEN 0 THEN ‘女’ END sex FROM student
SELECT NAME, age, CASE WHEN sex = 0 THEN ‘女’ END sex FROM student
有兩個流程分支
SELECT NAME,age, CASE sex WHEN 0 THEN ‘女’ ELSE ‘男’ END sex FROMstudent
SELECT NAME, age, CASE WHEN sex = 0 THEN '女’ELSE ‘男’ END sex FROM student
兩個以上流程分支
SELECT NAME,age, CASE sex WHEN 0 THEN ‘女’ WHEN 1 THEN ‘男’ ELSE ‘未知’ END sex FROM student
SELECT NAME, age, CASE WHEN sex = 0 THEN ‘女’ WHEN sex = 1 THEN ‘男’ ELSE ‘未知’ END sex FROM student
2.IF()
語法:IF(條件語句,值1,值2)
描述:這個類似於java中的三元表示式,如果符合條件就返回值1,如果不符合就返回值2
應用:
SELECT IF(10>11,‘y’,‘n’)
SELECT IF(11>10,‘y’,‘n’)
3.IFNULL()
語法:IFNULL(值1,值2)
描述:如果值1不為null就返回值1,如果值1為null就返回值2。
應用:
SELECT IFNULL(2,0)
SELECT IFNULL(NULL,1);
4.NULLIF()
語法:NULLIF(值1,值2)
描述:它是對值1和值2進行比較,如果符合就返回null,如果不符合就返回值1
應用:
SELECT NULLIF(1,1)
SELECT NULLIF(1,2)
三.比較函式
1.BETWEEN AND
語法:值 BETWEEN 最小值 AND 最大值
描述:判斷值是否在範圍內,如果值大於或者等於最小值,並且小於或者等於最大值,那麼結果就會返回1,否則返回0; BETWEEN AND 與 WHERE配合使用可以篩選符合條件的資料
應用:
判斷值是否在範圍內
SELECT 2 BETWEEN 1 AND 3
SELECT 2 BETWEEN 3 AND 1
與WHERE配合使用
SELECT id, name,age FROM student WHERE id BETWEEN 1 AND 10
2.NOT BETWEEN AND
描述:與BETWEEN AND邏輯和結果取反即可
3.GREATEST()
語法:GREATEST(值1,值2,值3…)
描述:對兩個以上引數,返回最大值。
應用:
SELECT GREATEST(1,2,3,4,5);
select GREATEST(val_1,val_2,val_3,val_4) from test
4.LEAST()
語法:LEAST(值1,值2,值3…)
描述:對兩個以上引數,返回最小值
應用:
SELECT LEAST(1,2,3,4,5);
select LEAST(val_1,val_2,val_3,val_4) from test
5.IN()
語法:值 IN(值1,值2,值3…)
描述:判斷值是否包含在IN中所擁有的引數,如果有則返回1,如果沒有則返回0;IN與WHERE配合使用可以篩選出包含IN中引數的資料
應用:
SELECT 1 IN(1,2,3,4,5)
SELECT 6 IN(1,2,3,4,5,6)
與WHERE配合使用
SELECT id,name,age FROM student WHERE id IN(1,2)
6.NOT IN()
描述:與IN()邏輯和結果取反即可
7.IS NULL
描述: 判斷值是否為null;與WHERE配合查詢條件為null的資料
應用:
SELECT * FROM student WHERE name IS NULL
8.IS NOT NULL
描述:判斷值是否不為null;與WHERE配合查詢出條件不為null的資料
應用:
SELECT * FROM student WHERE name IS NOT NULL
四.字串函式
1.CHAR_LENGTH()
語法:CHAR_LENGTH(欄位)
描述:返回字串長度,單位為字元
應用:
CHAR_LENGTH(name)
2.LENGTH()
語法:LENGTH(欄位)
描述:返回字串的長度,單位位元組
SELECT LENGTH(‘text’);
3.CONCAT()
語法:CONCAT(值1,值2,值3…)
描述:拼接字串
應用:
SELECT CONCAT(‘h’,‘e’,‘l’,‘l’,‘o’)
4.CONCAT_WS()
語法:CONCAT_WS(分隔符,值1,值2,值3…)
描述:用分隔符拼接字串
應用:
SELECT CONCAT_WS(’,’,‘hello’,‘mysql’)
5.ELT()
語法:ELT(第幾個元素,值1,值2,值3…)
描述:返回指定的元素
應用:
SELECT ELT(1,‘a’,‘b’)
6.FORMAT()
語法:FORMAT(M,D)
描述:將數字X格式化為’#,###,###.##’,將其舍入為D小數位,然後將結果作為字串返回。M代表實際值,D代表指定小數點位數。
應用:
SELECT FORMAT(1234.123, 2)
7.INSERT()
語法:INSERT(原字串,起始位置,結束位置,新字串);
描述:指定原字串的起始位置和結束位置,用新字串代替
應用
SELECT INSERT(‘hello’,1,2,‘ab’)
SELECT INSERT(‘hello’,‘o’)
8.INSTR()
語法:INSTR(字串,所包含的字串)
描述:檢視包含的字串在字串中第一次出現的位置
應用:
SELECT INSTR(‘hello’,‘o’)
9.SUBSTRING()
語法:SUBSTRING(字串,擷取位置)
描述:擷取指定位置的字串
SELECT SUBSTRING(‘hello’,2)
10.LEFT()
語法:LEFT(字串,指定位置)
描述:從左邊開始,擷取指定位置的字串
SELECT LEFT(‘hello’,2)
11.RIGHT()
語法:RIGHT(字串,指定位置)
描述:從右邊開始,擷取指定位置的字串
SELECT RIGHT(‘hello’,2)
相關文章
- MySQL函式學習(一)-----字串函式MySql函式字串
- MySQL 函式MySql函式
- MySQL函式MySql函式
- MySQL(四)日期函式 NULL函式 字串函式MySql函式Null字串
- Mysql 常用函式(15)- upper 函式MySql函式
- 【Mysql 學習】日期函式函式MySql函式
- MySQL 常用函式MySql函式
- MySQL 常用函式。MySql函式
- MySQL常用函式MySql函式
- mysql拼接函式MySql函式
- mysql函式大全MySql函式
- 14 mysql 函式MySql函式
- MySQL函式大全(字串函式,數學函式,日期函式,系統級函式,聚合函式)MySql函式字串
- MySQL函式-條件判斷函式MySql函式
- Mysql 一個比較好用的函式MySql函式
- Mysql 常用函式(1)- 常用函式彙總MySql函式
- mysql FIND_IN_SET函式、INSTR函式MySql函式
- Asyncdb(一):寫一個純函式式的Mysql非同步驅動函式MySql非同步
- MySQL 內建函式MySql函式
- Mysql視窗函式MySql函式
- Mysql內建函式MySql函式
- Mysql 的trim() 函式MySql函式
- 7mysql函式MySql函式
- MySQL時間函式MySql函式
- MYSQL的字串函式MySql字串函式
- MySQL 聚合函式大全MySql函式
- MySQL 控制流函式MySql函式
- MySQL 字串函式大全MySql字串函式
- 《MySQL 入門教程》第 16 篇 MySQL 常用函式之日期函式MySql函式
- Mysql 常用函式(20)- ceiling 函式MySql函式
- mysql 自定義分析函式 least 及 日期函式MySql函式AST
- MySQL:MySQL層比較函式呼叫MySql函式
- 轉MySQL--mysql常用函式打全MySql函式
- MySQL1:MySQL函式彙總MySql函式
- 《MySQL 入門教程》第 14 篇 MySQL 常用函式之數學函式MySql函式
- 探索MySQL高階語句(數學函式、聚合函式、字串函式、日期時間函式)MySql函式字串
- MySQL 對window函式執行sum函式疑似BugMySql函式
- 函式一函式