首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 函數與運算符實戰筆記(重構版):字串、數值、日期、比較、加密、聚合全覆蓋

     編輯:MySQL 綜合教學

MySQL 核心函數與運算符實戰速查(優化整理版)

一、字串處理函數

函數用途範例結果
CONCAT(s1,s2...)連接字串CONCAT('imooc','-','MySQL')imooc-MySQL
CONCAT_WS(sep,s1,s2...)分隔符連接CONCAT_WS('-',id,name)1-Tom
FORMAT(num,dec)千分位格式化FORMAT(234234.234,2)234,234.23
UPPER/LOWER(str)大小寫轉換UPPER(LEFT('andy',1))A
LEFT/RIGHT(str,n)取左/右 n 字元LEFT('MySQL',2)My
LENGTH(str)位元組長度LENGTH('中文')6 (UTF-8)
TRIM([BOTH|LEADING|TRAILING] c FROM s)去除字元TRIM(BOTH '!' FROM '!!A!!')A
REPLACE(s,old,new)替換REPLACE('a!b','!','-')a-b
SUBSTRING(s,pos,len)子字串(1-based)SUBSTRING('MySQL',1,2)My

二、模式匹配

  • % 任意長度,_ 單一字元
  • 'mysql' LIKE 'M%' → 1 (不區分大小寫)
  • username LIKE '%m%' 包含 m 的記錄

三、數值函數

函數說明範例
CEIL(x)向上取整CEIL(1.2)=2
FLOOR(x)向下取整FLOOR(1.8)=1
DIV / MOD整除 / 餘數10 DIV 3=3, 10 MOD 3=1
POWER(x,y)冪運算POWER(2,3)=8
ROUND(x,d)四捨五入ROUND(1.234,2)=1.23
TRUNCATE(x,d)截斷TRUNCATE(1.239,2)=1.23

四、比較運算符

  • BETWEEN a AND b:包含邊界
  • IN (v1,v2...) / NOT IN
  • IS NULL / IS NOT NULL —— 永遠不要用 = NULL

五、日期時間函數

函數說明範例
NOW()當前日期時間2024-01-15 10:30:00
CURDATE()/CURTIME()當前日期/時間
DATE_ADD(d, INTERVAL n UNIT)日期運算DATE_ADD('2024-01-01', INTERVAL 30 DAY)
DATEDIFF(d1,d2)天數差DATEDIFF('2024-02-01','2024-01-01')=31
DATE_FORMAT(d, fmt)格式化DATE_FORMAT(NOW(),'%Y-%m-%d %H:%i:%s')

格式符:%Y年 %m月 %d日 %H24時 %i分 %s秒

六、資訊函數

  • USER()、VERSION()、DATABASE()、CONNECTION_ID()、LAST_INSERT_ID()

七、聚合函數

  • AVG()、COUNT()、MAX()、MIN()、SUM() —— 單值回傳,針對欄位運算

八、加密函數

  • MD5(str):32 位十六進位,應用層常用
  • PASSWORD(str):MySQL 內部認證,**應用層勿用**

九、巢狀與組合技巧

-- 去除前後空格再大寫
UPPER(TRIM(name))

-- 日期格式化並取年份
YEAR(DATE_FORMAT(created_at, '%Y-%m-%d'))

-- 條件聚合
SUM(CASE WHEN status=1 THEN amount ELSE 0 END)
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved