MySQL内置函数

内置函数从实现的功能角度可以分为数值函数、字符串函数、日期和时间函数、流程控制函数、加密与解密函数,获取MySQL信息函数、聚合函数等。

1.数值函数

来源:
版权声明:本文为CSDN博主「清风拂来水波不兴」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_45902285/article/details/122754882

基本函数

abs(x) 取绝对值
sign(x) 返回x的符号,正数返回1,负数返回-1,0返回0
pi() 返回圆周率的值
ceil(x),ceiling(x) 返回大于或等于某个值的最小整数
floor(x) 返回小于或等于某个值的最大整数
least(e1,e2,...) 返回多个参数的最小值
greatest(e1,e2,e3...) 返回多个参数的最大值
mod(a,b) a%b的值
rand(x) 返回0-1的随机值,其中x为种子
round(x) 返回一个对x的值进行四舍五入后的整数
round(x,y) 对x值进行四舍五入并保留y位小数
truncate(x,y) 返回数字x截断为y位小数的结果
sqrt(x) 返回x的平方根,当x的值为负数时返回NULL

角度和弧度互函数

看上边的来源

三角函数:sin(x),cos(x)等等,asin(x)相当于arcsin(x),以此类推

指数和对数:

pow(x,y) 返回x的y次方
exp(x) 返回e的x次方
ln(x),log(x) 返回以e为底x的对数
log10(x) ...10...对数
log2(x) ...2...对数

2.字符串函数

在MySQL中,字符串的位置是从1开始的

ASCII(S) 返回字符串S中的第一个字符的ASCII码值
CHAR_LENGTH(S) 返回字符串S的字符数。作用与CHARACTER_LENGTH(S)相同
LENGTH(S) 返回字符串s的字节数,和字符集有关
CONCAT(s1,s2,……) 连接s1,s2,......,sn为一个字符串
CONCAT_WS(x,s1,s2,……) 同CONCAT(s1,s2,...)函数,但是每个字符串之间要加上x
INSERT(str,idx,len,replacestr) 将字符串str从第idx位置开始,len个字符长的子串替换为字符串replacestr
REPLACE(str,a,b) 用字符串b替换字符串str中所有出现的字符串a
UPPER(s)或UCASE(s) 大写
LOWER(s)或LCASE(s) 小写
LEFT(str,n) 返回字符串str最左边的n个字符
RIGHT(str,n) 返回字符串str最右边的n个字符
LPAD(str,len,pad) 用字符串pad对str最左边进行填充,直到str的长度为len个字符
RPAD(str,len,pad) 用字符串pad对str最右边进行填充,直到str的长度为len个字符
LTRIM(s) 去掉字符串s左侧的空格
TRIM(s) 去掉字符串s开始与结尾的空格
TRIM(s1 FROM s) 去掉字符串s开始与结尾的s1        
TRIM(LEADING s1 FROM s) 去掉字符串s开始处的s1
REPEAT(str, n) 返回str重复n次的结果
SPACE(n) 返回n个空格
STRCMP(s1,s2) 比较字符串s1,s2的ASCII码值的大小
SUBSTR(s,index,len) 返回从字符串s的index位置其len个字符,作用与SUBSTRING(s,n,len)、 MID(s,n,len)相同
LOCATE(substr,str) 返回字符串substr在字符串str中首次出现的位置,作用于POSITION(substr IN str)、INSTR(str,substr)相同。未找到,返回0
ELT(m,s1,s2,…,sn) 返回指定位置的字符串,如果m=1,则返回s1,如果m=2,则返回s2,如 果m=n,则返回sn
FIELD(s,s1,s2,…,sn) 返回字符串s在字符串列表中第一次出现的位置
FIND_IN_SET(s1,s2) 返回字符串s1在字符串s2中出现的位置。其中,字符串s2是一个以逗号分 隔的字符串
REVERSE(s) 反转字符串
NULLIF(value1,value2) 比较两个字符串,如果value1与value2相等,则返回NULL,否则返回 value1

3.日期和时间函数

CURDATE() ,CURRENT_DATE():返回当前日期,只包含年、 月、日
CURTIME() , CURRENT_TIME():返回当前时间,只包含时、 分、秒
NOW() / SYSDATE() / CURRENT_TIMESTAMP() / LOCALTIME() / LOCALTIMESTAMP():返回当前系统日期和时间
UTC_DATE():返回UTC(世界标准时间) 日期
UTC_TIME():返回UTC(世界标准时间) 时间
str_to_date("string","date"):将字符串按格式解析转为日期格式

 date_format("date","string"):将日期格式转化为字符串

datediff():显示两个日期的差值,天数

MySQL内置函数_第1张图片

4.流程控制函数

if...else

"case 函数

when ... then ...

...

else 

end"

 5.获取信息函数

version:当前版本

database:当前数据库

user:当前版本

password(密码):MySQL使用该函数对密码进行加密

md5(str):计算字符串的MD5校验和

encode(str,pswd_str);  //使用pswd_str为密码,加密str。返回值为二进制字符串。使用decode解密

decode(加密的字符串,pswd_str);  //使用pswd_str为密码,解密加密过的字符串。返回值字符串

6.加锁与解锁函数

MySQL中提供了对数据进行加锁和解锁的函数,这些函数包括GET_LOCK(value,timeout)、RELEASE_LOCK(value)、IS_FREE_LOCK(value)和IS_USED_LOCK(value)函数。

GET_LOCK()函数:value:表示要获取锁的名称或标识符。不同的锁应该有不同的 value 值,以便进行区分;timeout:持续时间

RELEASE_LOCK(value):解锁

IS_FREE_LOCK(value):检查锁value是否可以使用

IS_USED_LOCK(value):检查锁value是否正在被使用(被封锁)

7.聚集函数

前面已经说过了

你可能感兴趣的:(mysql,数据库)