MySQL函数

MySQL中的函数包括数学函数,字符串函数,日期和时间函数,条件判断函数,系统信息函数和加密函数。

1. 数学函数

函数 功能
ABS(x) 返回X的绝对值
PI() 返回圆周率pi的值
SQRT(x) 返回非负数x的二次方根
MOD(x,y) 返回x被y除后的余数
CEIL(X),CERILING(x) 返回不小于x的最小整数值
FLOOR(x) 返回不大于x的最大整数值
RAND() 随机返回0到1之间的浮点数
RAND(x) x作为种子,相同x产生相同随机数
ROUND(x) 返回最接近参数x的整数
ROUND(x,y) 返回最接近x的数,其值保存到小数点后面y位
TRUNCATE(x,y) 返回被舍去至小数点后y位的数字x,不四舍五入
SIGN(x) 符号函数
POW(x,y),POWER(x,y) 返回x的y次乘方结果值
EXP(x) 返回e的x次乘方后的值
LOG(x),LOG10(x) 返回x相对于基数e,10的对数
RADIANS(x) 将参数x由角度转化位弧度
DEGREES(x) 将参数x由弧度转化位角度
SIN(x),COS(x),TAN(x),COT(x) 正弦,余弦,正切,余切
ASIN(x),ACOS(x),ATAN(x) 反正弦,反余弦,反正切

2.字符串函数

字符串函数主要用来处理数据库中的字符串数据。

函数 功能
CHAR_LENGTH(STR) 返回str包含的字符个数,一个多字节字符算一个单字节
LENGTH(STR) 返回字符串的字符长度
CONCAT(S1,S2,…); 返回字符串S1,S2连接产生的字符串
CONCAT_WS(x,s1,s2,…); 返回以x为分隔符连接的s1,s2…
INSERT(s1,x,len,s2); 返回s1子字符串起始于x被s2取代的len字符
LOWER(S),LCASE(S); 返回s小写值
UPPER(s),UCASE(s); 返回s大写值
LEFT(s,n),RIGHT(s,n) 返回s最左边或最右边的n个字符
LPAD(s1,len,s2),RPAD(s1,len,s2) 返回s1其左/右用s2填充到len长度
LTRIM(S),RTRIM(S),TRIM(S) 去除掉s左边,右边,两边空格
TRIM(s1 FROM s) 删除s中的两端所有s1字符串
REPEAT(s,n) 返回一个s重复n次组成的字符串
SPACE(n) 返回一个n个空格组成的字符串
REPLACE(s,s1,s2); 使用字符串s2替代s中所有的字符串s1
STRCMP(s1,s2); 相同返回0,小于返回-1,其他返回1
MID/SUBSTRING(s,n,len) 从字符串s返回一个起始于n位,len长度子字符串
INSTR/LOCATE(s1,s),POSITION(s1 IN s) 返回s1在s中的开始位置
REVERSE(s) 反转s
ELT(N,s1,s2,s3,…) 返回字符串sN
FIELD(s,s1,s2,…) 返回s在列表(s1,s2,s3…)第一次出现的位置
FIND_IN_SET(s1,s2) 返回s1在字符串列表s2中出现的位置
MAKE_SET(x,s1,s2…) 返回由x的二进制指定的相应位的字符串组成的字符串

3日期和时间函数

函数 功能
CURDATE(),CURRENT_DATE() 返回‘YYYY-MM-DD’日期,+0可返回数值
CURTIME(),CURRENT_TIME() 返回’HH:MM:SS’时间,+0返回数值
CURRENT_TIMESTAMP(),LOCALTIME(),NOW(),SYSDATE() 返回’YYYY-MM-SS HH:MM:SS’,+0返回数字值
UNIX_TIMESTAMP(date) 返回‘1970-01-01 00:00:00’之后的秒数
FROM_UNIXTIME(date) 把秒数转化为1970-01-01 00:00:00之后的时间
UTC_DATE() 返回世界标准时间日期值
UTC_TIME() 返回世界标准时间时间值
MONTH(date),MONTHNAME(date) 返回date中的月份,月名
DAYNAME(),DAYOFWEEK(),WEEKDAY() 分别返回d对应的英文名称,索引
WEEK(d,mode) 根据mode计算d是一年中的第几周
WEEKOFYEAR(d) 计算某天位于一年中的第几周
DAYOFYEAR(d),DAYOFMONTH(d) d是一年/一个月的第几天
YEAR(date),QUARTER(date),MINUTE(time),SECOND(time) 返回date对应的年份,季度,分钟,秒数
EXTRACT(type FROM date) 从日期中提取出一部分(由type决定)
TIME_TO_SEC(time),SEC_TO_TIME(seconds) 将time/second转化为second/time
ADDDATE/DATE_ADD(date, INTERVAL expr type) 执行日期的加运算
SUBDATE/DATE_SUB(date, INTERVAL expr type) 执行日期的减运算
DATEDIFF(date1,date2) 计算date1减date2的差值
DATE_FORMAT(date,format) 根据format显示date
TIME_FORMAT(time,format) 根据format安排time值的格式
GET_FORMAT(var_type,format_type) 返回日期字符串的显示格式

4.条件判断函数

MySQL中进行条件判断的函数有IF,IFNULL,CASE。
IF(expr, v1, v2);
如果expr为true,则返回第一个值,否则是第二个

IFNULL(v1,v2);
如果v1不为NULL,返回v1;否则返回v2。

CASE
CASE expr WHEN v1 THEN r1 [WHEN v2 THEN r2] [ELSE rm] END
如果expr值等于某个vi,则返回对应的THEN后面的结果;如果函数值都不相同,则返回ELSE后面的rm。

CASE WHEN v1 THEN r1 [WHEN v2 THEN r2] [ELSE rm] END
如果某个Vi为true时,返回对应位置THEN后面的结果,如果都不为true,返回ELSE后的rm。

5.系统信息函数

函数 功能
VERSION() 返回MySQL服务器字符串
CONNECTION_ID() 返回MySQL服务器当前连接的次数
SHOW PROCESSLIST(), SHOW FULL PROCESSLIST() 返回当前运行的线程
DATABASE(),SCHEMA() 返回使用utf8字符集的当前数据库名
USER(),CURRENT_USER(),SYSTEM_USER() 返回用户名
CHARSET(s) 返回字符串s使用的字符集
COLLATION(s) 饭hi字符串s的字符排列方式
LAST_INSERT_ID() 返回最后一个insert或update或auto_increment列设置的第一个发生的值

6.加密函数

加密函数主要用来对数据进行加密和界面处理。

函数 功能
PASSWORD(s) 从原明文密码s计算并返回加密后的密码字符串
MD5(s) 为s算出MD5128bit校验和
ENCODE(s,pswd_s) 用pswd_s作为密码对s加密
DECODE(crypt_s,pswd_s) 用pswd_s作为密码对加密字符串crypt_s解密

7.其他函数

函数 功能
FORMART(x,n) 以四舍五入的方式保留小数点后n位
CONV(N,from_base,to_base) 将数字N从from_base进制到to_base
INET_ATON() 返回代表网络点地址的整数
INET_NTOA() 将数字网络地址转化为网络点地址
GET_LOCK(str,timeout) 使用str给定的名字得到一个锁,持续时间为timeout
RELEASE_LOCK(str) 解开GET_LOCK()得到的锁
IS_FREE_LOCK(str) 检查锁是否可以使用
IS_USED_LOCK(str) 检查锁是否在被使用
BENCHMARK(count,expr) 重复执行expr,count次
CONVERT(str USING charset) 更改str的字符集
CAST(x, AS type),CONVERT(x,type) 转换x的类型

你可能感兴趣的:(数据库知识点整理,mysql,sql,数据库)