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的类型
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值