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

《MySQL必知必會》第10-11章:函數處理數據全攻略(字符串、日期、聚合)

     編輯:MySQL 綜合教學

《MySQL必知必會》第10-11章:函數處理數據全攻略(字符串、日期、聚合)

系統梳理 MySQL 內建函數:拼接、去空白、算術、字符串、日期時間、聚合函數,實現「資料庫端格式化、計算、統計」,減輕應用層壓力。

一、拼接字段 CONCAT()

函數作用
LTRIM()去左側空格
RTRIM()去右側空格
TRIM()去兩側空格


三、算術計算

函數說明示例
LEFT(str, n)左側 n 字符LEFT('hello',2)='he'
RIGHT(str, n)右側 n 字符RIGHT('hello',2)='lo'
LENGTH(str)字節長度LENGTH('中文')=6 (utf8)
CHAR_LENGTH(str)字符長度CHAR_LENGTH('中文')=2
LOCATE(sub, str)子串首次位置(1-based)LOCATE('l','hello')=3
LOWER()/UPPER()大小寫轉換UPPER('abc')='ABC'
SUBSTRING(str, pos, len)截取子串SUBSTRING('hello',2,3)='ell'
SOUNDEX(str)語音編碼(英文名匹配)SOUNDEX('Smith')=SOUNDEX('Smythe')


五、日期時間函數核心表

函數說明示例
NOW()當前日期時間2024-01-15 14:30:00
CURDATE()當前日期2024-01-15
CURTIME()當前時間14:30:00
DATE(dt)提取日期部分DATE('2024-01-15 14:30:00')='2024-01-15'
YEAR()/MONTH()/DAY()提取年/月/日YEAR(NOW())=2024
HOUR()/MINUTE()/SECOND()提取時/分/秒
DATE_ADD(dt, INTERVAL n UNIT)日期加減(靈活)DATE_ADD(NOW(), INTERVAL 1 DAY)
DATEDIFF(dt1, dt2)兩日期差(天)DATEDIFF('2024-01-15','2024-01-01')=14
DATE_FORMAT(dt, fmt)格式化輸出DATE_FORMAT(NOW(),'%Y-%m-%d')

日期查詢避坑指南

-- 錯誤:datetime 欄位直接比較日期字符串(含時間部分會失配)
WHERE order_date = '2005-09-01'

-- 正確:提取日期部分比較
WHERE DATE(order_date) = '2005-09-01'

-- 某年某月所有訂單
WHERE YEAR(order_date) = 2005 AND MONTH(order_date) = 9

六、聚合函數

函數說明忽略 NULL
AVG(col)平均值是
COUNT(*)行數(含 NULL)否
COUNT(col)非 NULL 行數是
MAX(col)最大值是
MIN(col)最小值是
SUM(col)求和是

實戰範例

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved