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

MySQL 常用函數速查手冊:字串、數值、日期、加密與控制流

     編輯:MySQL 綜合教學

MySQL 常用函數速查手冊

1. 字串函數

函數說明
LENGTH(str)返回字串位元組長度
CHAR_LENGTH(str)返回字元數(多位元組字元算 1)
CONCAT(s1,s2,...)拼接字串,任一參數為 NULL 結果為 NULL
CONCAT_WS(sep, s1,s2,...)以 sep 分隔拼接,自動跳過 NULL
TRIM([BOTH|LEADING|TRAILING] remstr FROM str)去除首尾指定字元(預設空格)
LEFT(str, len), RIGHT(str, len)取左/右側指定長度子串
SUBSTRING(str, pos, len)截取子串,支援負位置
REPLACE(str, from_str, to_str)替換所有出現的子串
LOCATE(substr, str), INSTR(str, substr)查找子串首次出現位置
LOWER(str), UPPER(str)大小寫轉換

2. 數值函數

函數說明
ABS(x)絕對值
CEIL(x), FLOOR(x)向上/向下取整
ROUND(x, d)四捨五入保留 d 位小數
TRUNCATE(x, d)截斷保留 d 位小數(不四捨五入)
MOD(x, y), x % y取模(餘數)
POW(x, y), POWER(x, y)冪運算
SQRT(x)平方根
RAND([seed])隨機數 0~1,可指定種子
SIGN(x)符號:正負零返回 1/-1/0

3. 日期時間函數

函數說明
NOW(), SYSDATE()當前日期時間
CURDATE(), CURTIME()當前日期/時間
DATE(expr), TIME(expr)提取日期/時間部分
YEAR(), MONTH(), DAY(), HOUR(), MINUTE(), SECOND()提取各部分
DATE_FORMAT(date, fmt)按格式字串輸出日期(如 %Y-%m-%d)
STR_TO_DATE(str, fmt)字串按格式解析為日期
DATE_ADD(date, INTERVAL expr unit)日期加減(unit: DAY, MONTH, YEAR 等)
DATEDIFF(date1, date2)兩日期相差天數
TIMESTAMPDIFF(unit, dt1, dt2)指定單位的時間差
WEEK(date, mode), WEEKDAY(date)週數、週幾(0=Monday)
LAST_DAY(date)該月最後一天

4. 聚合函數

  • COUNT(expr)、SUM(expr)、AVG(expr)、MIN(expr)、MAX(expr)
  • GROUP_CONCAT(expr [ORDER BY ...] SEPARATOR ','):分組拼接字串
  • STDDEV(expr)、VARIANCE(expr):標準差/方差

5. 加密與資訊函數

  • MD5(str)、SHA1(str)、SHA2(str, 256/512)、PASSWORD(str)(已棄用)
  • VERSION()、USER()、CURRENT_USER()、DATABASE()、CONNECTION_ID()、LAST_INSERT_ID()、FOUND_ROWS()

6. 控制流函數

  • IF(condition, true_val, false_val)
  • CASE WHEN cond1 THEN val1 ... ELSE def_val END(搜尋式)
  • CASE expr WHEN val1 THEN res1 ... ELSE def END(簡單式)
  • IFNULL(expr1, expr2)、COALESCE(val1, val2, ...)、NULLIF(expr1, expr2)

7. 類型轉換

  • CAST(expr AS type)、CONVERT(expr, type),type 可為:BINARY, CHAR, DATE, DATETIME, TIME, DECIMAL, SIGNED, UNSIGNED 等。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved