MySQL函数
跳到导航
跳到搜索
变量
用户定义的变量
是一种以@符号为前缀的变量类型。
定义
SET @var_name = value; - OR - SELECT @var_name := value; - SQL - SELECT @age_max:= MAX(age) FROM students;
使用
SELECT @var_name SELECT * FROM students WHERE age = @maxage;
未定义变量输出NULL
局部变量
局部变量是强类型变量,作用域在声明它的存储过程块中。无 DEFAULT 子句,变量将被赋予初始值 NULL。
DECLARE i, j INT DEFAULT 0;
系统变量
MySQL 包含各种配置其操作的系统变量,每个系统变量都有一个默认值。我们可以通过在运行时使用 SET 语句动态地更改某些系统变量,使得在不停止和重新启动服务器的情况下修改系统变量。
MySQL服务器提供了许多系统变量,如GLOBAL、SESSION或MIX类型。全局变量在服务器的整个生命周期中可见,而会话变量仅在特定会话中保持活动状态。
SELECT @@key_buffer_size;
函数
字符串函数
字符串连接、字符串比较、大小写转换、获取子串等。
Name | Description |
CHAR_LENGTH(s) | 返回字符串s的字符数 |
LENGTH(s) | 返回字符串s的长度 |
CONCAT(s1, s2, .....) | 将字符串s1, s2等多个字符串合并为一个字符串 |
CONCAT_WS(x, s1, s2, ....) | 同COUCAT(s1, s2, .....),但是每个字符串之间要加上x |
INSERT(s1, x, len, s2) | 将字符串s2替换s1的x位置开始长度为len的字符串 |
UPPER(s), UCASE(s) | 讲字符串s的所有字符都变成大写字母 |
LOWER(s), LCASE(s) | 讲字符串s的所有字符都变成小写字母 |
LEFT(s, n) | 返回字符串s的前n个字符 |
RIGHT(s, n) | 返回字符串s的后n个字符 |
LPAD(s1, len, s2) | 字符串s2来填充s1的开始处,使字符串长度达到len |
RPAD(s1, len, s2) | 字符串s2来填充s1的结尾处,使字符串长度达到len |
LTRIM(s) | 去掉字符串s开始处的空格 |
RTRIM(s) | 去掉字符串s结尾处的空格 |
TRIM(s) | 去掉字符串s开始处和结尾处的空格 |
TRIM(s1FROMs) | 去掉字符串s中开始处和结尾处的字符串s1 |
REPEAT(s, n) | 将字符串s重复n次 |
SPACE(n) | 返回n个空格 |
REPLACE(s, s1, s2) | 用字符串s2代替字符串s中的字符串s1 |
STRCMP(s1, s2) | 比较字符串s1和s2 |
SUBSTRING(s, n, len) | 获取从字符串s中的第n个位置开始长度为len的字符串 |
MID(s, n, len) | 同SUBSTRING(s, n, len)ATE(s1, s), POSTTION(s1 IN s)从字符串s中获取s1的开始位置 |
INSTR(s, s1) | 从字符串s中获取s1的开始位置 |
REVERSE(s) | 将字符串s的顺序反过来 |
ELT(n, s1, s2...) | 返回第n个字符串 |
FIELD(s, s1, s2...) | 返回第一个与字符串s匹配的字符串的位置 |
FIND_IN_SET(s1, s2) | 返回在字符串s2中与s1匹配的字符串的位置 |
MAKE_SET(x, s1, s2...) | 按x的二进制数从s1, s2......sn中选取字符串 |
数学函数
绝对值函数、正弦函数、余弦函数、获取随机数等。
Name | Description |
ABS(x) | 返回x的绝对值 |
CEIL(x), CEILING(x) | 返回大于或等于x的最小整数(向上取整) |
FLOOR(x) | 返回小于或等于x的最大整数(向下取整) |
RAND() | 返回0~1的随机数 |
RAND(x) | 返回0~1的随机数,x值相同时返回的随机数相同 |
SIGN(x) | 返回x的符号,x是负数、0、正数分别返回-1、0、1 |
PI() | 返回圆周率 |
TRUNCATE(x, y) | 返回数值x保留到小数点后y位的值 |
ROUND(x) | 返回离x最近的整数(四舍五入) |
ROUND(x, y) | 保留x小数点后y位的值,但截断时要四舍五入 |
POW(x, y), POWER(x, y) | 返回x的y次方 |
SQRT(x) | 返回x的平方根 |
EXP(x) | 返回e的x次方 |
MOD(x, y) | 返回x 除以y以后的余数 |
LOG(x) | 返回自然对数(以e为底的对数) |
LOG10(x) | 返回以10为底的对数 |
RADIANS(x) | 讲角度转换为弧度 |
DEGREES(x) | 讲弧度转换为角度 |
SIN(x) | 求正弦值 |
ASIN(x) | 求反正弦值 |
COS(x) | 求余弦值 |
ACOS(x) | 求反余弦值 |
TAN(x) | 求正切值 |
ATAN(x), ATAN(x, y) | 求反正切值 |
COT(x) | 求余切值 |
时间函数
取当前时间、获取当前日期、返回年份、返回日期等。
JSON函数
系统信息函数
获取数据库名、获取当前用户、获取数据库版本等。
加密函数
字符串加解密、Hash 等
其他函数
格式化、编码转换、类型转换、加锁、条件选择等。