MySQL提供了丰富的函数,用于处理各种数据类型,包括数值、字符串、日期和时间等。这些函数可以帮助用户进行复杂的数据操作,提高数据查询的效率和灵活性。以下是一些常用的MySQL函数:
一、数学函数
数学函数用于执行数学计算,如加法、减法、乘法、除法、取余、四舍五入、取绝对值等。
- ABS(x):返回x的绝对值。
- CEIL(x) 或 CEILING(x):返回大于或等于x的最小整数。
- FLOOR(x):返回小于或等于x的最大整数。
- ROUND(x, d):将x四舍五入到小数点后d位。
- TRUNCATE(x, d):将x截断到小数点后d位,不进行四舍五入。
- EXP(x):返回e的x次方。
- SQRT(x):返回x的平方根。
- RAND():返回0到1之间的随机数。
- PI():返回圆周率。
二、字符串函数
字符串函数用于对字符串类型的数据进行操作,如连接、替换、截取、转换大小写等。
- CONCAT(str1, str2, ...):连接两个或多个字符串。
- CONCAT_WS(separator, str1, str2, ...):使用指定的分隔符来连接两个或多个字符串。
- SUBSTRING(str, pos, len) 或 SUBSTR(str, pos, len):从字符串str的pos位置开始获取长度为len的子字符串。
- LENGTH(str):返回字符串的字节长度。
- CHAR_LENGTH(str):返回字符串的字符长度。
- UPPER(str):将字符串str的所有字母转换为大写。
- LOWER(str):将字符串str的所有字母转换为小写。
- LEFT(str, len):返回字符串str的前len个字符。
- RIGHT(str, len):返回字符串str的后len个字符。
- TRIM([[REMSTR] FROM] STR):返回字符串STR,其前导和尾随的REMSTR字符串已被删除。如果没有REMSTR,则删除空格。
- REPLACE(str, from_str, to_str):将字符串str中的from_str替换为to_str。
- INSERT(str, pos, len, newstr):在字符串str的pos位置插入长度为len的newstr字符串。
- REVERSE(str):返回字符串str的反转。
三、日期和时间函数
日期和时间函数用于处理日期和时间值,如获取当前日期、时间、日期加减、提取日期部分等。
- NOW():返回当前的日期和时间。
- CURDATE():返回当前的日期。
- CURTIME():返回当前的时间。
- DATE(date):从日期或日期时间表达式中提取日期部分。
- TIME(time):从日期时间表达式中提取时间部分。
- YEAR(date):从日期中提取年份。
- MONTH(date):从日期中提取月份。
- DAY(date):从日期中提取日。
- HOUR(time):从时间中提取小时。
- MINUTE(time):从时间中提取分钟。
- SECOND(time):从时间中提取秒。
- DATE_ADD(date, INTERVAL expr unit):向日期添加指定的时间间隔。
- DATE_SUB(date, INTERVAL expr unit):从日期减去指定的时间间隔。
- DATEDIFF(date1, date2):返回两个日期之间的天数差。
四、聚合函数
聚合函数用于执行计算并返回单个值的函数,通常用在SELECT语句的GROUP BY子句中。
- AVG(expression):返回表达式expression的平均值。
- COUNT(expression):返回表达式expression的非NULL值的数量。
- SUM(expression):返回表达式expression的总和。
- MAX(expression):返回表达式expression的最大值。
- MIN(expression):返回表达式expression的最小值。
五、逻辑函数
逻辑函数用于执行逻辑操作,如判断条件、选择不同的值等。
- IF(condition, true_value, false_value):如果条件condition为真,则返回true_value,否则返回false_value。
- CASE:根据条件选择不同的结果输出。
六、其他函数
- VERSION():返回MySQL服务器的版本。
- DATABASE():返回当前数据库的名称。
- USER():返回当前登录的用户。
- MD5(str):返回字符串str的MD5加密值。
- SHA1(str):返回字符串str的SHA-1加密值。