ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

MySQL 常用内置函数

2026/8/19 11:13:52 拓冰建站 浏览量
MySQL 常用内置函数 1. 字符串函数String Functions这类函数专门处理文本数据在数据清洗和格式化输出时非常有用。函数语法说明示例CONCATCONCAT(str1, str2, ...)连接多个字符串CONCAT(Hello, , World)→Hello WorldCONCAT_WSCONCAT_WS(sep, str1, ...)用指定的分隔符连接字符串会跳过NULL值CONCAT_WS(-, 2024, NULL, 15)→2024-15SUBSTRINGSUBSTRING(str, pos, len)从指定位置pos开始截取len个字符SUBSTRING(Hello World, 1, 5)→HelloLEFT/RIGHTLEFT(str, len)/RIGHT(str, len)从左侧或右侧截取指定长度的字符LEFT(Hello World, 5)→HelloLENGTHLENGTH(str)返回字符串的字节长度UTF-8中一个汉字占3字节LENGTH(你好)→6CHAR_LENGTHCHAR_LENGTH(str)返回字符串的字符数量一个汉字算1个字符CHAR_LENGTH(你好)→2UPPER/LOWERUPPER(str)/LOWER(str)将字符串转换为大写或小写UPPER(Hello)→HELLOTRIMTRIM(str)去除字符串两端的空格TRIM( Hello )→HelloREPLACEREPLACE(str, old, new)将字符串中的指定子串替换为另一个子串REPLACE(Hello World, World, MySQL)→Hello MySQLINSTRINSTR(str, substr)返回子串substr在字符串str中首次出现的位置INSTR(Hello World, World)→7REVERSEREVERSE(str)反转字符串中的字符顺序REVERSE(Hello)→olleHINSERTINSERT(str, pos, len, newstr)在指定位置pos开始替换len个字符为newstrINSERT(Hello, 1, 2, AA)→AAllo2. 日期和时间函数Date and Time Functions这类函数用于处理日期、时间数据是生成报表和进行时间序列分析的。函数语法说明示例NOW/CURDATE/CURTIMENOW()/CURDATE()/CURTIME()返回当前日期时间、当前日期或当前时间NOW()→2024-01-15 14:30:00YEAR/MONTH/DAYYEAR(date)/MONTH(date)/DAY(date)从日期中提取年、月、日YEAR(2024-01-15)→2024HOUR/MINUTE/SECONDHOUR(time)/MINUTE(time)/SECOND(time)从时间中提取小时、分钟、秒HOUR(14:30:00)→14DATE_FORMATDATE_FORMAT(date, format)按照指定格式格式化日期DATE_FORMAT(NOW(), %Y年%m月%d日)→2024年01月15日STR_TO_DATESTR_TO_DATE(str, format)将字符串按照指定格式转换为日期类型STR_TO_DATE(15-01-2024, %d-%m-%Y)→2024-01-15DATEDIFFDATEDIFF(date1, date2)计算两个日期之间的天数差DATEDIFF(2024-01-15, 2024-01-01)→14DATE_ADD/DATE_SUBDATE_ADD(date, INTERVAL expr unit)对日期进行加/减运算DATE_ADD(2024-01-01, INTERVAL 30 DAY)→2024-01-31TIMESTAMPDIFFTIMESTAMPDIFF(unit, date1, date2)计算两个日期时间的差值单位可指定TIMESTAMPDIFF(DAY, 2024-01-01, 2024-01-15)→143. 数值函数Numeric Functions用于执行数学计算和数值处理。函数语法说明示例ROUNDROUND(num, dec)对数字进行四舍五入保留指定小数位ROUND(3.14159, 2)→3.14TRUNCATETRUNCATE(num, dec)截断数字到指定小数位不四舍五入TRUNCATE(3.14159, 2)→3.14ABSABS(num)返回数字的绝对值ABS(-5)→5CEILING/FLOORCEILING(num)/FLOOR(num)返回大于等于或小于等于该数字的最小/最大整数CEILING(3.14)→4,FLOOR(3.14)→34. 聚合函数Aggregate Functions这类函数对一组值进行统计计算常与GROUP BY配合使用。函数语法说明示例COUNTCOUNT(*)/COUNT(column)计算表中的行数或某列非空值的个数COUNT(*)→100SUMSUM(column)计算某列的总和SUM(amount)→5000AVGAVG(column)计算某列的平均值AVG(age)→25.5MAX/MINMAX(column)/MIN(column)返回某列的最大值或最小值MAX(price)→99.995. 条件与逻辑函数Conditional Functions用于在SQL中实现if-else逻辑进行数据转换。函数语法说明示例IFIF(condition, true_val, false_val)简单if-else判断满足条件返回一个值否则返回另一个IF(age18, 成年, 未成年)CASECASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 ELSE default END多重条件判断类似switch用于复杂逻辑CASE WHEN age18 THEN 少年 WHEN age30 THEN 青年 ELSE 中年 ENDIFNULL/COALESCEIFNULL(expr1, expr2)/COALESCE(expr1, expr2, ...)处理NULL值返回第一个非NULL的值IFNULL(phone, 无电话)