MySQL函数

本文全面介绍了SQL中的数值类型函数、字符串函数、日期和时间函数以及其他常用函数。包括绝对值、随机数生成、字符串拼接、日期操作等实用技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数值类型函数:

绝对值函数abs:abs(num)

取余函数mod:mod(num2,num1)  返回num2%num1的值,如果为num1为0,则返回NULL。

求平方根:sqrt(num) 若num为负数返回NULL。

获取随机数:rand(num) 返回0~num之间一个1个随机浮点数。

四舍五入:round(num1,num2) 返回num2位小数的的四舍五入后的num1值。

符号函数:sign(num) num为正数返回1,0返回0,负数返回-1。

幂运算函数:power(num1,num2) num1的num2次幂。

对数运算函数:log(num1,num2) 使用一个参数log(num)代表ln(num)。

pi函数:pi() 返回一个7为数值。

三角函数:sin(num) cos(num) acos(num) asin(num) tan(num) atan(num)。

ceiling(num)和ceil(num) 获取不小于参数的整数值。


字符串函数:

合并字符串函数:concat(str1,str2,...) 把所有的str1,str2,...拼起来;其中有一个是NULL,则返回NULL。

计算字符串长度:char_length(str)和length(str)。

字母小写转大写函数:upper(str)。

字符大写转小写函数:lower(str)。

获取指定长度的字符串函数left和right:left(str,len)和right(str,len)。

填充字符串的函数:lpad(str,len,padstr),rpad(str,len,padstr) 前者代表padstr放在左边,对整体的str截取len个字符,后者代表padstr放在右边,对整体str截取len个字符。

删除指定字符:trim([{BOTH | LEADING | TRAILING} [remstr] FROM] str) 可以去除str中指定的字符remstr,并允许从指定的位置去除,其中{BOTH | LEADING | TRAILING} 修饰符表示两端去除、前端去除和尾端去除。在默认情况下,trim函数可以去除字符串两端空格。


删除字符串两端空格函数:ltrim(str),rtrim(str)。

重复生成字符串的函数:repeat(str,count)。

空格函数:space(num) 返回由num个间隔符组成的字符串。

替换函数:replace(str,from_str,to_str) 如replace('this is','s','S')。

替换字符串的函数:insert(str,pos,len,newstr):在第pos(第一个字符为1)位置,开始从1数,数到第len个字符为止,这段字符串由newstr代替,返回新的字符串。


比较字符串:strcmp(expr_1,expr_2) 比较两个参数,当相同时返回0,expr_1<expr_2返回-1,其他返回1。

获取字符串函数:substring(str,pos,len) 从第pos(第一个字符为1)开始,到第len个字符为止,返回这一小段子字符串。


字符串逆序:reverse(str)

返回指定字符串位置的函数field:field(str,str_1,str_2,str_3[,str_4]) 从列表str_1,str_2...中找出第一次出现str的位置。当str的值为null,结果返回0,因为null不能和其他值进行比较。


日期和时间函数

返回指定日期对应的工作日索引dayofweek和weekday

dayofweek(date),它从1开始,1表示周日,7表示周六;weekday(date),它从索引值0开始,即0表示周一,6表示周日。



返回指定日期所在月中的日期索引dayofmonth(date):当日期不存在时,函数返回null。



返回指定日期所在年中的日期索引dayofyear(date):可以获取日期参数所在年中对应的索引日,日期没有实际意义返回null。


返回指定日期对应月份month(date):返回日期参数所在月份,日期没实际意义,返回null。


返回指定日期对应月名称monthname(date)



返回指定日期对应的工作日名称dayname(date):返回Saturday等。


返回指定日期对应的季度quarter(date):返回1,2,3,4。


返回指定日期对应的年份year(date):返回2013等。


返回指定时间中的小时hour(time):hour('2013-2-1 12:22:20') 返回12。


返回指定时间中的分钟minute(time):minute('2013-10-22 13:34:22')返回34。


返回指定时间中的秒second(time):同理。


增加月份函数:period_add(date,n):period_add(1201,5)返回201206(YYYYMM格式);period_add(201101,12)返回201201(YYYYMM格式)。


取月份差:period_diff(1201,1208)返回-7;period_diff(201201,201209) 返回8。


返回当前日期函数:curdate() 和 current_date 返回当前的系统日期。



返回当前时间函数curtime()和current_time。



返回当前日期和时间的函数:now()和sysdate()。



秒转换成时间函数sec_to_time



时间转换为秒time_to_sec(time):如time_to_sec('00:01:23') 返回83。


其他函数:

session_user():当前session用户名。

database():当前数据库名称函数。

md5(string):计算出字符串md5 128比特检查和。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值