MySQL基礎-常用函式
阿新 • • 發佈:2020-10-29
單行函式
字元函式
1.length 獲取引數值的位元組個數
SELECT LENGTH('zero');
2.concat 拼接字串
SELECT CONCAT(last_name,'_',first_name) 姓名 FROM employees;
3.upper變大寫、lower變小寫
SELECT UPPER('zero');
SELECT LOWER('ZERO');
4.substr、substring
注意:索引從1開始
擷取從指定索引處後面所有字元
SELECT SUBSTR('李莫愁愛上了陸展元',7) out_put;
擷取從指定索引處指定字元長度的字元
SELECT SUBSTR('李莫愁愛上了陸展元',1,3) out_put;
5.instr 返回子串第一次出現的索引,如果找不到返回0
SELECT INSTR('李莫愁愛上了陸展元','沒有') AS out_put;
6.trim 去掉指定字元
SELECT TRIM('aa' FROM 'aaaaaaaaa張aaaaaaaaaaaa翠山') AS out_put;
7.lpad 用指定的字元實現左填充指定長度
SELECT LPAD('殷素素',2,'*') AS out_put;
8.rpad 用指定的字元實現右填充指定長度
SELECT RPAD('殷素素',12,'ab') AS out_put;
9.replace 替換
SELECT REPLACE('周芷若周芷若周芷若周芷若張無忌愛上了周芷若','周芷若','趙敏') AS out_put;
數學函式
1.round 四捨五入
SELECT ROUND(-1.55);
SELECT ROUND(1.567,2);
2.ceil 向上取整,返回>=該引數的最小整數
SELECT CEIL(-1.02);
3.floor 向下取整,返回<=該引數的最大整數
SELECT FLOOR(-9.99);
4.truncate 截斷
SELECT TRUNCATE(1.69999,1);
5.mod取餘
SELECT MOD(10,-3);
SELECT 10%3;
日期函式
1.now 返回當前系統日期+時間
SELECT NOW();
2.curdate 返回當前系統日期,不包含時間
SELECT CURDATE();
3.curtime 返回當前時間,不包含日期
SELECT CURTIME();
4.可以獲取指定的部分,年、月、日、小時、分鐘、秒
SELECT YEAR(NOW()) 年;
SELECT YEAR('1998-1-1') 年;
SELECT YEAR(hiredate) 年 FROM employees;
SELECT MONTH(NOW()) 月;
SELECT MONTHNAME(NOW()) 月;
5.str_to_date 將字元通過指定的格式轉換成日期
SELECT STR_TO_DATE('1998-3-2','%Y-%c-%d') AS out_put;
6.date_format 將日期轉換成字元
SELECT DATE_FORMAT(NOW(),'%y年%m月%d日') AS out_put;
流程控制函式
1.if函式: if else 的效果
SELECT IF(10<5,'大','小');
2.case函式的使用一: switch case 的效果
SELECT salary 原始工資,department_id,
CASE department_id
WHEN 30 THEN salary*1.1
WHEN 40 THEN salary*1.2
WHEN 50 THEN salary*1.3
ELSE salary
END AS 新工資
FROM employees;
3.case 函式的使用二:類似於 多重if
SELECT salary,
CASE
WHEN salary>20000 THEN 'A'
WHEN salary>15000 THEN 'B'
WHEN salary>10000 THEN 'C'
ELSE 'D'
END AS 工資級別
FROM employees;
分組函式
求和
SELECT SUM(salary) FROM employees;
求平均數
SELECT AVG(salary) FROM employees;
求最小值
SELECT MIN(salary) FROM employees;
求最大值
SELECT MAX(salary) FROM employees;
求個數
SELECT COUNT(salary) FROM employees;
其他函式
SELECT VERSION();
SELECT DATABASE();
SELECT USER();