《MySQL函数大全一览表》是一份全面总结MySQL数据库各类内置函数的手册,涵盖字符串、数值、日期与时间等多种类型的函数及其用法说明。
MySQL函数是数据库操作中的重要组成部分,它们极大地简化了数据处理和查询的过程。下面是对MySQL主要函数的详细分类与介绍。
### 1. 数学函数
- `ABS(x)`:计算数值x的绝对值,用于处理负数。
- `PI()`:返回π值,通常用于数学计算,例如圆面积等。
- `SQRT(x)`:求非负数x的平方根。
- `MOD(x,y)`:计算x除以y后的余数,常用于取模运算。
- `CEIL(x)`, `CEILING(x)`:返回大于或等于x的最小整数,通常用于向上取整操作。
- `FLOOR(x)`:返回小于或等于x的最大整数,适用于向下取整的情况。
- `ROUND(x), ROUND(x,y)`:前者四舍五入到最近的整数;后者保留小数点后y位数字。
- `SIGN(x)`:根据输入值x确定其符号,正数为1、负数为-1、零则返回0。
- `POW(x,y)`, `POWER(x,y)`:计算x的y次幂。
- `EXP(x)`:返回e(自然对数底)的x次方。
- `LOG(x)`:以e作为底,求出x的自然对数值。
- `LOG10(x)`:求以10为基数的对数。
- `RADIANS(x)`: 将角度转换成弧度单位表示形式。
- `DEGREES(x)`: 把弧度值转回角度制表达方式。
- 正弦及反正弦函数`SIN(x), ASIN(x)`,余弦及其反函数`COS(x), ACOS(x)`,正切与反函数`TAN(x), ATAN(x)`;以及计算余割的函数 `COT(x)`, 接受弧度值作为输入。
### 2. 字符串处理函数
- `CHAR_LENGTH(str)`:返回字符串str中的字符总数。
- `CONCAT(s1, s2,...)`:将多个给定字符串连接成一个单一的结果字符串输出。
- `CONCAT_WS(x, s1, s2... )`:使用分隔符x来串联一系列输入的串,并在每对相邻元素之间插入该分隔字符。
- `INSERT(str,start,length,newstr)`: 在指定位置start处,从原字符串中删除length个字符并插入新的字符串newstr。
- 字母转换函数包括 `LOWER(str)`/`LCASE(str)`(将所有字母转化为小写)和 `UPPER(str)` /`UCASE(str)` (全部转为大写字母);
- 提取文本子串的有:`SUBSTRING(string, position [,length])`, 以及等效于 MySQL 中 SUBSTR 的函数,如 `MID(s, n, l)` 和 `SUBSTR(s,n,l)`。
- 查找和定位字符串位置的方法包括:
- 使用 `LOCATE(str1,str)`, `POSITION(str1 IN str)`, 或者`INSTR(str,str1)`
- 字符串反转功能:使用`REVERSE(string)` 将输入的整个序列逆序排列。
### 3. 日期与时间函数
- 获取当前日期和时间的操作包括:
- 使用 `CURDATE()` 和 `CURRENT_DATE()` 来获取系统中的当前日期;
- 利用 `CURTIME()`, 或者`CURRENT_TIME()`来得到即时的时间点。
- 操作具体时刻或区间时,可以使用以下函数:
- 为了格式化日期与时间信息采用特定样式输出,请应用 `DATE_FORMAT(date, format)`;
- 要在给定的日期上添加或者删除一定量的时间间隔,则可分别选择`DATE_ADD()` 和 `DATE_SUB()`;
- 单独提取出时间部分或日期部分,可以使用函数如:
- 从datetime或timestamp类型的数据中获取其日期组件:通过`DATE(date)`;
- 获取相应时刻的小时、分钟和秒数等信息,则用到 `YEAR(date)`, `MONTH(date)`, `DAY(date)`, `HOUR(time)`,`MINUTE(time)` 和 `SECOND(time)`。
- 使用时间间隔的操作包括:
- 利用`TIMESTAMPADD(unit, interval, datetime)` 来添加特定时间段;
- 通过执行减法操作,使用`TIMESTAMPDIFF(unit, datetime1, datetime2)` 获取两个指定时刻之间的差值。
这些函数涵盖了MySQL中基本的数学、字符串和日期时间处理功能。掌握并熟练应用它们可以帮助数据库管理员及开发者高效地进行数据管理与查询工作,并显著提高工作的准确性和效率。