3-1-4 MySQL基礎-基本函式的使用
阿新 • • 發佈:2020-09-20
MySQL函式分類
1.數字函式
2.字元函式
3.日期函式
4.條件函式
數字函式
函式 | 功能 | 用例 |
ABS | 絕對值 | ABS(-100) |
ROUND | 四捨五入 | ROUND(4.62) |
FLOOR | 強制舍位到最近的整數 | FLOOR(9.9) |
CEIL | 強制進位到最近的整數 | CEIL(3.2) |
POWER | 冪函式 | POWER(2,3) |
LOG | 對數函式 | LOG(7,3) |
LN | 對數函式 | LN(10) |
SQRT | 開平方 | SQRT(9) |
PI | 圓周率 | PI() |
SIN | 三角函式 | SIN(1) |
COS | 三角函式 | COS(1) |
TAN | 三角函式 | TAN(1) |
COT | 三角函式 | COT(1) |
RADIANS | 角度轉換弧度 | RADIANS(30) |
DEGREES | 弧度轉換角度 | DEGREES(1) |
日期函式
NOW()函式能獲得系統日期和時間,格式yyyy-MM-dd hh:mm:ss
CURDATE()函式能獲得當前系統日期,格式yyyy-MM-dd
CURTIME()函式能獲得當前系統時間,格式hh:mm:ss
DATE_FORMAT()用於格式化日期,返回使用者想要的日期格式
DATE_FORMAT(日期,表示式)
1 SELECT ename, DATE_FORMAT(hiredate, '%Y') 2 FROM t_emp;
佔位符 | 作用 | 佔位符 | 作用 |
%Y | 年份 | %m | 月份 |
%d | 日期 | %w | 星期(數字) |
%W | 星期(名稱) | %j | 本年第幾天 |
%U | 本年第幾周 | %H | 小時(24) |
%h | 小時(12) | %i | 分鐘 |
%s | 秒 | %r | 時間(12) |
%T | 時間(24) |
日期偏移計算
DATE_ADD()函式可以實現日期的偏移計算
DATE_ADD(日期,INTEVAL,偏移量,時間單位)
1 SELECT DATE_ADD(NOW(), INTERVAL -15 DAY);
計算日期之間相隔的天數
DATEDIFF(日期,日期);
1 SELECT DATEDIFF(STR_TO_DATE('2019-01-20 16:01:45', '%Y-%m-%d %H:%i:%s'), NOW());
字元函式
函式 | 功能 | 用例 |
LOWER | 轉換小寫字元 | LOWER(ename) |
UPPER | 轉換大寫字元 | UPPER(ename) |
LENGTH | 字元數量 | LENGTH(ename) |
CONCAT | 連線字串 | CONCAT(sal,'$') |
INSTR | 字元出現的位置 | INSTR(ename,'A') |
INSERT | 插入/替換字元 | INSERT('你好',1,0'先生') |
REPLACE | 替換字元 | REPLACE('你好先生','先生','女士') |
SUBSTR | 擷取字串 | SUBSTR('你好世界',3,4) |
SUBSTRING | 擷取字串 | SUBSTRING('你好世界',3,2) |
LPAD | 左側填充字元 | LPAD('Hello',10,'*') |
RPAD | 右側填充字元 | RPAD('Hello',10,'*') |
TRIM | 去除首尾空格 | TRIM(' 你好 ') |
條件函式
SQL語句中可以利用條件函式來實現程式語言的條件判斷
IFNULL(表示式,值)
IF(表示式,值1,值2)
複雜一點的還有
CASE
WHEN 表示式 THEN 值1,
WHEN 表示式 THEN 值2,
.....
ELSE 值N
END