1. 程式人生 > 實用技巧 >3-1-4 MySQL基礎-基本函式的使用

3-1-4 MySQL基礎-基本函式的使用

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