MySQL基础之常用函数

数学函数

abs(x)         返回x的绝对值

pi()             返回圆周率π的值

sqrt(x)        返回非负数x的平方根

mod(x,y)    返回x被y除后的余数


ceil(x)和ceiling(x) 意义相同返回不小于x的最小整数

floor(x)    返回不大于x的最大整数

rand(x) 返回0~1之间的随机浮点数,如果将x赋值则将产生相同的值

round(x) 返回最接近参数x整数,对x进行四舍五入

round(x,y) 返回最接近x的整数,小数小数点后面y位。如果y为负值,保留x值到小数点左边y位

truncate(x,y) 返回被舍去至小数点后y位的数字x。如果y的值为0,结果不带有小数点或者小数。如果y为负值,则截去x小数点左

                     起第y位开始后面所有低位的值


sign(x) 符号函数,返回参数x的符号

pow(x,y) power(x,y) 都是返回x的y次方

exp(x) 返回以e为底的x次方

log(x) 返回x的自然对数,x相对于基数e的对数

log10(x) 返回x的基数10的对数

radians(x) 将参数x由角度转换为弧度

degrees(x)将参数x由弧度转换为角度

sin(x) 返回x的正弦,x为弧度值

asin(x)返回x的反正弦,如果x不在-1 到  1的范围之内则返回null

cos(x)返回x的余弦值

acos(x)返回x的反余弦值

tan(x)返回x的正切值

atan(x)返回x的反正切值

cot(x)返回函数的余切值


字符串函数

char_length(str)    计算字符串字符个数(字符串长度)

concat(s1, s2, ...)   返回连接参数产生的字符串,如果任何一个参数为null则返回null

concat_ws(x, s1,s2....) 参数x是其他参数的分隔符

insert(s1, x, len, s2) 返回字符串s1,其子字符串起始于x位置和被字符串s2取代的len字符。

lower(str)  lcase(str) 将字符串中的字母全部转换为小写

upper(str)  ucase(str) 将字符串中字母全部转换为大写

left(s,n)   返回字符串s从左开始n个字符的字符串

right(s,n) 返回字符串s从右开始n个字符的字符串

lpad(s1,len,s2) 返回字符串是,其左边由字符串s2填补到len字符长度

rpad(s1,len,s2) 返回字符串是,其右边由字符串s2填补到len字符长度

ltrim(s)  删除字符串左边的空格

rtrim(s)  删除字符串右边的空格

trim(s)   删除字符串两侧的空格

trim(s1 from s) 删除字符串s中两端所有子字符串s1

repeat(s,n)  重复生成字符串

space(n)     生成一个由n个空格组成的字符串

replace(s, s1, s2) 使用字符串s2替换字符串s中的字符串s1

strcmp(s1,s2) 如果所有字符串相同返回0,若果s1 < s2返回-1,否则返回1


substring(s,n,len)  从字符串s返回一个长度同len字符相同的子字符串,起始于位置n,n为负数时倒数位置n

mid(s,n,len)  同上

locate(str1,str)   返回字符串str1在str中的位置

position(str1 in str) 同上

instr(str,str1) 同上

reverse(str) 字符串倒序

elt(n,str1,str2,....)  返回指定位置的字符串

field(s,s1,s2)    返回指定字符串位置

find_in_set(s1,s2) 返回子字符s1在字符串s2中的位置


make_set(x,s1,s2,....) 返回由x的二进制数指定的相应位的字符串组成的字符串,s1对应比特1,s2对应比特01


日期和时间函数

获取当前日期:curdate(), current_date()

获取当前时间:curtime(), current_time()

获取当前日期和时间:current_timestamp(), localtime(), now(), sysdate()

unix时间戳函数: unix_timestamp(date)

unix时间戳反函数: from_unixstamp(date)


返回UTC日期的函数:utc_date()

返回UTC时间的函数:utc_time()

获取月份的函数:month(date), monthname(date)

获取星期的函数:dayname(d), dayofweek(d), weekday(d), 其中weekday返回的是0,1,2,3,4...,0表示周一,1表示周二

获取星期数的函数:week(d), weekofyear(d)

获取天数的函数:dayofyear(d), dayofmonth(d)

获取年份的函数:year(date)

获取季度的函数:quarter(date)

获取小时的函数:minute(date)

获取秒钟的函数:second(date)

时间和秒钟转换的函数:time_to_sec(time)

秒钟转换为时间的函数:sec_to_time(seconds)

计算日期和时间的函数:date_add(), adddate(), date_sub(), subdate(), addtime(), subtime(), date_diff()

                                     其中add为日期加操作,sub为日期减操作

日期和时间格式化函数:date_format(date, format) format为格式化的格式

                                     time_format(date,format)


 条件判断函数

 if(expr, v1, v2)   注:if(1>2, 2,3) 如果表达式1>2的结果为真返回第一个参数2,否则返回第二个参数3

 ifnull(v1, v2)      如果v1不为null则返回v1,否则返回v2

 case expr when v1 then r1[when v2 then r2][else rn] end 如果expr值等于某个vn,返回响应then后的值否则返回else后值

系统信息函数

返回mysql信息的函数: version()

返回mysql当前链接次数:connection_id()

输出当前登录用户链接信息:show processllist

获取用户名的函数:user(), current_user, system_user() session_user()

获取字符串的字符集和排序方式的函数

charset(str) 返回字符串str自变量的字符集

collation(str) 返回字符串str的字符排列方式

last_insert_id() 自动返回最后一个insert或者update 为auto_increment列设置的第一个发生的值

加/解密函数

passwork(str)  明文密码加密后返回加密密码

md5(str)  MD5加密返回加密串

encode(str, pswd_str) 使用pswd_str作为密码对str进行加密

decode(crypt_str,pswd_str)使用pswd_str作为密码解密已经被加密过的字符串crypt_str


其他函数

格式化函数:format(x, n) 将数字x格式化,四舍五入保留小数点后n位,返回值为字符串

数字进制转换函数:conv(n, from_base, to_base) 把数字n由from_base进制转换到to_base进制

ip地址与数字转换函数:inet_aton(expr) 将IP地址转换为数字  inet_nota(exopr) 将数字转换为ip地址

加/解锁函数:get_lock() release_lock(str) is_free_lock(str) is_used_lock(str)

重复执行指定操作函数:benchmark(count, expr) 重复执行expr,count次。

改变字符集函数:convert()

改变数据类型的函数: cast(x, as type) 把x改变为type类型

猜你喜欢

转载自blog.csdn.net/crazy_brick/article/details/80323994
今日推荐