MySQL-函数
Posted 旷世奇才李先生
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL-函数相关的知识,希望对你有一定的参考价值。
有志者,事竟成
文章持续更新,可以微信搜索【小奇JAVA面试】第一时间阅读,回复【资料】获取福利,回复【项目】获取项目源码,回复【简历模板】获取简历模板,回复【学习路线图】获取学习路线图。
文章目录
- 前言
- 一、MySQL函数简介
- 二、数学函数
- 1、绝对值函数ABS(x)和返回圆周率的函数PI()
- 2、平方根函数SQRT(x)和求余函数MOD(x,y)
- 3、获取整数的函数CEIL(x)、CEILING(x)和FLOOR(x)
- 4、获取随机数的函数RAND()和RAND(x)
- 5、四舍五入函数ROUND(x)、ROUND(x,y)和TRUNCATE(x,y)
- 6、符号函数SIGN(x)
- 7、幂运算函数pow(x,y)、power(x,y)和exp(x)
- 8、对数运算函数LOG(x)和LOG10(x)
- 9、角度与弧度相互转换的函数RADIANS(x)和DEGREES(x)
- 10、正弦函数SIN(x)和反正弦函数ASIN(x)
- 11、余弦函数COS(x)和反余弦函数ACOS(x)
- 12、正切函数、反正切函数和余切函数
- 三、字符串函数
- 1、计算字符串字符数的函数和字符串长度的函数
- 2、合并字符串的函数concat(s1,s2,...)和concat_ws(x,s1,s2,...)
- 3、替换字符串的函数insert(s1,x,len,s2)
- 4、字母大小写转换函数
- 5、获取指定长度的字符串函数left(s,n)和right(s,n)
- 6、填充字符串的函数lpad(s1,len,s2)和rpad(s1,len,s2)
- 7、删除空格的函数ltrim(s)、rtrim(s)和trim(s)
- 8、删除指定字符串的函数trim(s1 from s)
- 9、重复生成字符串的函数repeat(s,n)
- 10、空格函数space(n)和替换函数replace(s,s1,s2)
- 11、比较字符串大小的函数strcmp(s1,s2)
- 12、获取子串的函数substring(s,n,len)和MID(s,n,len)
- 13、匹配子串开始位置的函数
- 14、字符串逆序的函数reverse(s)
- 15、返回指定位置的字符串的函数
- 16、返回指定字符串位置的函数field(s,s1,s2,...)
- 17、返回子串位置的函数find_in_set(s1,s2)
- 18、选取字符串的函数MAKE_SET(s,s1,s2,...)
- 四、日期和时间函数
- 1、获取当前日期的函数和获取当前时间的函数
- 2、获取当前日期和时间的函数
- 3、unix时间戳函数
- 4、返回utc日期的函数和返回utc时间的函数
- 5、获取月份的函数month(d)和monthname(d)
- 6、获取星期的函数dayname(d)、dayofweek(d)和weekday(d)
- 7、获取星期的函数week(d)和weekofyear(d)
- 8、获取天数的函数dayofyear(d)和dayofmonth(d)
- 9、获取年份、季度、小时、分钟和秒钟的函数
- 10、获取日期的指定值的函数extract(type from d)
- 11、时间和秒钟转换的函数
- 12、计算日期和时间的函数
- 13、将日期和时间格式化的函数
- 五、条件判断函数
- 六、系统信息函数
- 七、加密函数
- 八、其他函数
- 九、总结
前言
mysql数据库中提供了很丰富的函数。MySQL函数包括数学函数、字符串函数、日期和时间函数、条件判断函数、系统信息函数、加密函数、格式化函数等。通过这些函数,可以简化用户的操作。例如,字符串连接函数可以很方便地将多个字符串连接在一起。
一、MySQL函数简介
MySQL函数包括数学函数、字符串函数、日期和时间函数、条件判断函数、系统信息函数、加密函数等。select语句及其条件表达式都可以使用这些函数。同时,insert、update和delect语句及其条件表达式也可以使用这些函数。例如,表中的某个数据是负数,现在需要将这个数据显示为整数。这就可以使用绝对值函数。从上面可以知道,MySQL函数可以对表中数据进行相应的处理,以便得到用户希望得到的数据。这些函数可以使MySQL数据库的功能更加强大。下面介绍这几类函数的使用范围。
数学函数:这类函数主要用于处理数字。这类函数包括绝对值函数、正弦函数、余弦函数和获取随机数的函数等。
字符串函数:这类函数主要用于处理字符串。其中包括字符串连接函数、字符串比较函数、将字符串的字母都变成小写或大写字母的函数和获取子串的函数等。
日期和时间函数:这类函数主要用于处理日期和时间。其中包括获取当前时间的函数、获取当前日期的函数、返回年份的函数和返回日期的函数等。
条件判断函数:这类函数主要用于在MySQL语句中控制条件选择。其中包括IF语句、CASE语句和WHEN语句等。
系统信息函数:这类函数主要用于获取MySQL数据库的系统信息。其中包括获取数据库名的函数、获取当前用户的函数和获取数据库版本的函数等。
加密函数:这类函数主要用于对字符串进行加密解密。其中包括字符串加密函数和字符串解密函数等。
其他函数:包括格式化函数和锁函数等。
二、数学函数
数学函数是MySQL中常用的一类函数。主要用于处理数字,包括整型、浮点数等。数学函数包括绝对值函数、正弦函数、余弦函数和获取随机数的函数等。
1、绝对值函数ABS(x)和返回圆周率的函数PI()
ABS(x)用来求绝对值:PI()用来返回圆周率。
下面将演示ABS(x)、PI()这两个函数的使用。
2、平方根函数SQRT(x)和求余函数MOD(x,y)
SQRT(x)用来求平方根;MOD(x,y)用来求余数。
下面将演示SQRT(x)、MOD(x,y)两个函数的使用。
3、获取整数的函数CEIL(x)、CEILING(x)和FLOOR(x)
CEIL(x)和CEILING(x)这两个函数返回大于或等于x的最小整数;FLOOR(x)函数返回小于或等于x的最大整数。
下面将演示CEIL(x)、CEILING(x)和FLOOR(x)3个函数的使用。
4、获取随机数的函数RAND()和RAND(x)
RAND()和RAND(x)这两个函数都是返回0-1的随机数。但是RAND()返回的数是完全随机的,而RAND(x)函数的x相同时返回的值是相同的。
下面将演示RAND()和RAND(x)两个函数的使用。
5、四舍五入函数ROUND(x)、ROUND(x,y)和TRUNCATE(x,y)
ROUND(x)函数返回离x最近的整数,也就是对x进行四舍五入处理;ROUND(x,y)函数返回x保留到小数点后y位的值,截断时需要进行四舍五入处理;TRUNCATE(x,y)函数返回x保留到小数点后y为的值。
下面将演示ROUND(x)、ROUND(x,y)和TRUNCATE(x,y)3个函数的使用。
6、符号函数SIGN(x)
sign(x)函数返回x的符号,x是负数、0、正数分别返回-1、0和1。
下面将演示sign(x)函数的使用。
7、幂运算函数pow(x,y)、power(x,y)和exp(x)
POW(x,y)和POWER(x,y)这两个函数计算x的y次方,exp(x)函数计算e的x次方。
下面将演示POW(x,y)、power(x,y)和exp(x)3个函数的使用。
8、对数运算函数LOG(x)和LOG10(x)
LOG(x)函数计算x的自然对数;LOG10(x)函数计算以10为底的对数。其中,exp(x)和LOG(x)这两个函数互为反函数。
下面将演示LOG(x)和LOG10(x)两个函数的使用。
9、角度与弧度相互转换的函数RADIANS(x)和DEGREES(x)
RADIANS(x)函数将角度转换为弧度;DEGREES(x)函数将弧度转换为角度。这两个函数互为反函数。
下面演示RADIANS(x)函数和DEGREES(x)函数的使用。
10、正弦函数SIN(x)和反正弦函数ASIN(x)
SIN(x)函数用来求正弦值,其中x是弧度;ASIN(x)函数用来求反正弦值。ASIN(x)中x的取值必须在-1~1之间。否则返回的结果将会是null。
下面将演示SIN(x)、ASIN(x)两个函数的使用。
11、余弦函数COS(x)和反余弦函数ACOS(x)
COS(x)函数用来求余弦值,其中x是弧度;ACOS(x)函数用来求反余弦值。COS(x)和ACOS(x)互为反函数。并且,ACOS(x)中x的取值必须在-1~1之间。否则返回的结果将会是null。
下面将演示COS(x)和ACOS(x)两个函数的使用。
12、正切函数、反正切函数和余切函数
TAN(x)函数用来求正切值,其中x是弧度;ATAN(x)和ATAN2(x)用来求反正切值;COT(x)函数用来求余切值。TAN(x)与ATAN(x)、ATAN2(x)互为反函数。而且TAN(x)返回值是COT(x)返回值的倒数。
下面将演示TAN(x)、ATAN(x)、ATAN2(x)和COT(x)4个函数的使用。
三、字符串函数
字符串函数是MySQL中最常用的一类函数。字符串函数主要用于处理表中的字符串。字符串函数包括求字符串长度、合并字符串、在字符串中插入子串和大小字母之间切换等函数。
1、计算字符串字符数的函数和字符串长度的函数
CHAR_LENGTH(s)函数计算字符串s的字符数;LENGTH(s)函数计算字符串s的长度。
下面将演示CHAR_LENGTH(s)函数和LENGTH(s)函数的使用。
2、合并字符串的函数concat(s1,s2,…)和concat_ws(x,s1,s2,…)
concat(s1,s2,…)函数和concat_ws(x,s1,s2,…)函数都可以将s1、s2等多个字符串合并成一个字符串。但concat_ws(x,s1,s2,…)可以将各字符串直接用参数x隔开。
下面将演示concat(s1,s2,…)函数和concat_ws(x,s1,s2,…)函数的使用。
3、替换字符串的函数insert(s1,x,len,s2)
insert(s1,x1,len,s2)函数将字符串s1中的x位置开始长度为len的字符串用s2替换。
下面将演示insert(s1,x,len,s2)函数的使用。
4、字母大小写转换函数
upper(s)函数和ucase(s)函数将字符串s的所有字母变成大写字母;lower(s)函数和lcase(s)函数将字符串s的所有字母变成小写字母。
下面将演示upper(s)、ucase(s)、lower(s)和lcase(s)4个函数的使用。
5、获取指定长度的字符串函数left(s,n)和right(s,n)
left(s,n)函数返回字符串s的前n个字符;right(s,n)函数返回字符串s的后n个字符。
下面将演示left(s,n)函数和right(s,n)函数的使用。
6、填充字符串的函数lpad(s1,len,s2)和rpad(s1,len,s2)
LPAD(s1,len,s2)函数将字符串s2填充到s1的开始处,使字符串长度达到len;rpad(s1,len,s2)函数将字符串s2填充到s1的结尾处,使字符串长度达到len。
下面将演示lpad(s1,len,s2)函数和rpad(s1,len,s2)函数的使用。
7、删除空格的函数ltrim(s)、rtrim(s)和trim(s)
ltrim(s)函数将去掉字符串s开始处的空格;rtrim(s)函数将去掉字符串s结尾处的空格;trim(s)函数将去掉字符串s开始处和结尾处的空格。
下面将演示ltrim(s)、RTRIM(s)和TRIM(s)3个函数的使用。使用的字符串是‘me’。该字符串的开头和结尾各有一个空格。因为空格不好显示,所以使用concat()函数来将字符串与‘+’连接起来。
8、删除指定字符串的函数trim(s1 from s)
trim(s1 from s)函数将去掉字符串s中开始处和结尾处的字符串s1。
下面将演示trim(s1 from s)函数的使用。
9、重复生成字符串的函数repeat(s,n)
repeat(s,n)函数将字符串s重复n次。
下面将演示repeat(s,n)函数的使用。
10、空格函数space(n)和替换函数replace(s,s1,s2)
space(n)函数返回n个空格;replace(s,s1,s2)函数将字符串s2替代字符串s中的字符串s1。
下面将演示space(n)和replace(s,s1,s2)两个函数的使用。
11、比较字符串大小的函数strcmp(s1,s2)
strcmp(s1,s2)函数用来比较字符串s1和s2。如果s1大于s2,结果返回1;如果s1等于s2,结果返回0;如果s1小于s2,结果返回-1。
下面将演示strcmp(s1,s2)函数的使用。
12、获取子串的函数substring(s,n,len)和MID(s,n,len)
substring(s,n,len)函数和MID(s,n,len)函数从字符串s的第n个位置开始获取长度为len的字符串。
下面将演示substring(s,n,len)函数和MID(s,n,len)函数的使用。
13、匹配子串开始位置的函数
locate(s1,s)、position(s1 in s)和instr(s,s1)3个函数从字符串s中获取s1的开始位置。
下面将演示locate(s1,s)、position(s1 in s)和instr(s,s1)3个函数的使用。
14、字符串逆序的函数reverse(s)
reverse(s)函数将字符串s的顺序反过来。
下面将演示reverse(s)函数的使用。
15、返回指定位置的字符串的函数
elt(n,s1,s2,…)函数的返回第n个字符串。
下面将演示elt(n,s1,s2,…)函数的使用。
16、返回指定字符串位置的函数field(s,s1,s2,…)
field(s,s1,s2,…)函数返回第一个与字符串s匹配的字符串的位置。
下面将演示field(s,s1,s2,…)函数的使用。
17、返回子串位置的函数find_in_set(s1,s2)
find_in_set(s1,s2)函数返回在字符串s2中与s1匹配的字符串的位置。其中,字符串s2中包含了若干个用逗号隔开的字符串。
下面将演示find_in_set(s1,s2)函数的使用。
18、选取字符串的函数MAKE_SET(s,s1,s2,…)
make_set(x,s1,s2,…)函数按x的二进制数从s1,s2,…,sn中选取字符串。例如12的二进制是1100。这个二进制数从右到左的第3位和第4位是1,所以选取s3和s4。
下面将演示make_set(x,s1,s2,…)函数的使用。
四、日期和时间函数
日期和时间函数是MySQL中另一类最常用的函数。日期和时间函数主要用于处理表中的日期和时间数据。日期和时间函数包括获取当前日期的函数、获取当前时间的函数、计算日期的函数、计算时间的函数等。
1、获取当前日期的函数和获取当前时间的函数
curdate()和current_date()函数获取当前日期;curtime()和current_time()函数获取当前时间。
下面将演示curdate()、current_date()、curtime()和curr-ent_time()4个函数的使用。
2、获取当前日期和时间的函数
now()、current_timestamp()、localtime()和sysdate()等4个函数都用来获取当前的日期和时间。这四个函数表示相同的含义。
下面将演示now()、current_timestamp()、localtime()和sysdate()4个函数的使用。
3、unix时间戳函数
unix_timestamp()函数以unix时间戳的形式返回当前时间;unix_timestamp(d)函数将时间d以unix时间戳的形式返回;from_unixtime(d)函数把unix时间戳的时间转换为普通格式的时间。unix_timestamp(d)函数和from_unixtime(d)互为反函数。
下面将演示unix_timestamp()、unix_timestamp(d)和from_unixtime(d)3个函数的使用。
4、返回utc日期的函数和返回utc时间的函数
utc_date()函数返回utc日期;utc_time()函数返回utc时间。其中,utc是Universal Coordinated Time的缩写,也就是国际协调时间。
下面将演示utc_date()函数和utc_time()函数的使用。
5、获取月份的函数month(d)和monthname(d)
month(d)函数返回日期d中的月份值,其取值范围为1~12;monthname(d)函数返回日期d中的月份的英文名称,如January,February等。其中,参数d可以是日期和时间,也可以是日期。
下面将演示month(d)函数和monthname(d)函数的使用。
6、获取星期的函数dayname(d)、dayofweek(d)和weekday(d)
dayname(d)函数返回日期d是星期几,显示其英文名,如Monday,Tuesday等;dayofweek(d)函数也返回日期d是星期几,1表示星期日,2表示星期一,依次类推;weekday(d)函数也返回日期d是星期几,0表示星期一,1表示星期二,依次类推。其中,参数d可以是日期和时间,也可以是日期。
下面将演示dayname(d)、dayofweek(d)和weekday(d)函数的使用。
7、获取星期的函数week(d)和weekofyear(d)
week(d)函数和weekofyear(d)函数都是计算日期d是本年的第几个星期。返回值的范围是1~53。
下面将演示week(d)函数和weekofyear(d)函数的使用。
8、获取天数的函数dayofyear(d)和dayofmonth(d)
dayofyear(d)函数日期d是本年的第几天;dayofmonth(d)函数返回计算日期d是本月的第几天。
下面将演示dayofyear(d)函数和dayofmonth(d)函数的使用。
9、获取年份、季度、小时、分钟和秒钟的函数
year(d)函数返回日期d中的年份值;quarter(d)函数返回日期d是本年第几季度,值的范围是1~4;hour(t)函数返回时间t中的小时值;minute(t)函数返回时间t中的分钟值;second(t)函数返回时间t中的秒钟值。
下面将演示year(d)、quarter(d)、hour(t)、minute(t)和second(t)5个函数的使用。
10、获取日期的指定值的函数extract(type from d)
extract(type from d)函数从日期d中获取指定的值。这个值是什么由type的值决定。type的取值可以是year、month、day、hour、minute和second。如果type的值是year,结果返回年份值;month返回月份值;day返回是几号;hour返回小时值;minute返回分钟值;second返回秒钟值。
下面将演示extract(type from d)函数的使用。
11、时间和秒钟转换的函数
time_to_sec(t)函数将时间t转换为以秒为单位的时间;sec_to_time(s)函数将以秒为单位的时间s转换为时分秒的格式。time_to_sec(t)和sec_to_time(s)互为反函数。
下面将演示time_to_sec(t)函数和sec_to_time(s)函数的使用。
12、计算日期和时间的函数
1、to_days(d)、from_days(n)和datediff(d1,d2)函数
to_days(d)函数计算日期d与0000年1月1日的天数;from_days(n)函数计算从0000年1月1日开始n天后的日期;datediff(d1,d2)函数计算日期d1与d2之间相隔的天数。
下面将演示to_days(d)、from_days(n)和datediff(d1,d2)3个函数的使用。
2、adddate(d,n)、subdate(d,n)、addtime(t,n)和subtime(t,n)函数
adddate(d,n)函数返回起始日期d加上n天的日期;subdate(d,n)函数返回起始日期d减去n天的日期;addtime(t,n)函数返回起始日期t加上n秒后的时间;subtime(t,n)函数返回起始时间t减去n秒后的时间。
下面将演示adddate(d,n)、subdate(d,n)、addtime(t,n)和subtime(t,n)4个函数的使用。
3、adddate(d,interval expr type)和date_add(d,interval expr type)函数
adddate(d,interval expr type)函数和date_add(d,interval expr type)函数返回起始日期d加上一个时间段后的日期;subdate(d,interval expr type)函数返回起始日期d减去一个时间段后的日期。上面3个函数的expr是表示时间段长度的表达式。该表达式与后面的间隔类型type对应。
下面使用adddate(d,interval expr type)函数计算一年零一个月后的日期和时间。
13、将日期和时间格式化的函数
1、date_format(d,f)函数
date_formate(d,f)函数按照表达式f的要求显示日期d。表达式f指定了显示的格式。
下面用与“Jan lst 1986”一样的形式来显示字段中的日期。
2、time_formate(t,f)函数
time_formate(t,f)函数按照表达式f的要求显示时间t。表达式f指定了显示的格式。
下面将时间字段用12小时制来显示。
3、get_format(type,s)函数
get_formate(type,s)函数根据字符串s获取type类型数据的显示格式。其中,参数d的取值包括date、datetime和time;s参数的取值包括eur、usa、jis、iso和internal。
使用get_format(type,s)函数只会返回一个格式字符串。
下面select语句中只使用get_format(type,s)函数。
五、条件判断函数
条件判断函数用来在sql语句中进行条件判断。根据是否满足判断条件,sql语句执行不同的分支。例如,从员工表中查询员工的业绩。如果业绩高于指定值n,则输出good;否则,输出bad。下面是各种条件判断函数的表达式、作用和使用方法。
1、if(expr,v1,v2)函数
if(expr,v1,v2)函数中,如果表达式expr成立,返回结果v1;否则,返回结果v2。
下面从t6中查询学号(id),分数(grade)。并且,分数大于等于60,显示pass;否则,显示fail。select语句如下:
2、ifnull(v1,v2)函数
ifnull(v1,v2)函数中,如果v1的不为空,就显示v1的值;否则就显示v2的值。
下面从t6中查询学号(id),分数(grade)。如果分数不为null,显示分数,否则,显示no grade。select语句如下:
3、case函数
1、case when expr1 then v1 [when expr2 then v2…][else vn] end
case when expr1 then v1 [when expr2 then v2…] [else vn]end函数中,case表示函数开始,end表示函数结束。如果表达式expr1成立时,返回v1的值。如果表达式expr2成立时,返回v2的值。依次类推,最后遇到else时,返回vn的值。
下面从t6中查询学号(id),分数(grade)。如果分数大于60,返回‘GOOD’;如果分数为60,返回‘PASS’;其余分数返回“FAIL”。select语句如下:
2、case exprwhen e1 then v1 [when e2 then v2…][else vn] end
case expr when e1 then v1 [when e2 then v2…][else vn] end 函数中,如果表达式expr取值等于e1时,返回v1的值。如果表达式expr取值等于e2时,返回v2的值。依次类推,最后遇到else时,返回vn的值。case表示函数开始,end表示函数结束。
下面从t6中查询学号(id),分数(grade)。如果分数等于60,返回GOOD;如果分数为60,返回pass;如果分数为50,返回FAIL;其余分数返回NO GRADE。
select语句如下:
六、系统信息函数
系统信息函数用来查询MySQL数据库的系统信息。例如,查询数据库的版本,查询数据库的当前用户等。
1、获取MySQL版本号、连接数和数据库名的函数
version()函数返回数据库的版本号;connection_id()函数返回服务器的连接数,也就是到现在为止MySQL服务的连接次数;database()和schema()返回当前数据库名。
下面演示一下用法:
2、获取用户名的函数
USER()、system_user()、session_user()、current_user()和current_user这几个函数可以返回当前用户的名称。
下面查询当前用户的用户名。
3、获取字符串的字符集合排序方式的函数
charset(str)函数返回字符串str的字符集,一般情况这个字符集就是系统的默认字符集;collation(str)函数返回字符串str的字符排列方式。
下面查看字符串‘aa’的字符集和字符串排序方式。
4、获取最后一个自动生成的id值的函数
last_insert_id()函数返回最后生成的auto_increment值。
下面测试last_insert_id()函数的作用。
七、加密函数
加密函数是MySQL中用来对数据进行加密的函数。因为数据库中有些很敏感的信息不希望被其他人看到,就应该通过加密的方式来使这些数据变成看似乱码的数据。例如用户的密码,就应该经过加密。
1、加密函数password(str)
password(str)函数可以对字符串str进行加密。一般情况下,password(str)函数主要是用来给用户的密码加密的。
下面使用password(str)函数为字符串‘abcd’加密。
2、加密函数MD5(str)
MD5(str)函数可以对字符串str进行加密。MD5(str)函数主要对普通的数据进行加密。
下面使用md5(str)函数为字符串‘abcd’加密。
3、加密函数encode(str,pswd_str)
encode(str,pswd_str)函数可以使用字符串pswd_str来加密字符串str。加密的结果是一个二进制数,必须使用blob类型的字段来保存它。
下面使用字符串‘aa’来加密字符串‘abcd’,将加密后的数据存入表b的code字段中。code字段是blob类型的。
4、解密函数decode(crypt_str,pswd_str)
decode(crypt_str,pswd_str)函数可以使用字符串pswd_str来为crypt_str解密。crypt_str是通过encode(str,pswd_str)加密后的二进制数据。字符串pswd_str应该与加密时的字符串pswd_str是相同的。
下面使用decode(crypt_str,psed_str)为encode(str,pswd_str)加密的数据解密。
八、其他函数
MySQL中除了上述函数以外,还包含了很多函数。例如format(x,n)函数用来格式化数字x,inet_aton()函数可以将ip转换为数字。
1、格式化函数format(x,n)
format(x,n)函数可以将数字x进行格式化,将x保留到小数点后n位。这个过程需要进行四舍五入。例如format(2.356,2)返回的结果将会是2.36;format(2.353,2)返回的结果将会是2.35。
下面执行:
2、不同进制的数字进行转换的函数
ascii(s)返回字符串s的第一个字符的ascii码;bin(x)返回x的二进制编码;HEX(x)返回x的十六进制编码;oct(x)返回x的八进制编码;conv(x,f1,f2)将x从f1进制数变成f2进制数。
3、IP地址与数字相互转换的函数
inet_aton(IP)函数可以将IP地址转换为数字表示;inet_ntoa(n)函数可以将数字n转换成IP的形式。其中,inet_aton(ip)函数中IP值需要加上引号。这两个函数互为反函数。
4、加锁函数和解锁函数
GET_LOCT(name,time)函数定义一个名称为name、持续时间长度为time秒的锁。如果锁定成功,返回1;如果尝试超时,返回0;如果遇到错误,返回null。release_lock(name)函数解除名称为name的锁。如果解锁成功,返回1;如果尝试超时,返回0;如果解锁失败,返回null;is_free_lock(name)函数判断是否使用名为name的锁。如果使用,返回0;否则,返回1。
下面增加一个名为MYSQL的锁,持续时间是10秒。然后判断这个锁是否加上,最后解除锁定。
5、重复执行指定操作的函数
benchmark(count,expr)函数将表达式expr重复执行count次,然后返回执行时间。该函数可以用来判断MySQL处理表达式的速度。
下面返回系统的时间是100000次,计算使用的时间。
6、改变字符集的函数
convert(s using cs)函数将字符串s的字符集变成cs。
下面将字符串‘ABC’的字符集变成gbk。
7、改变字段数据类型的函数
cast(x as type)和convert(x,type)这两个函数将x变成type类型。这两个函数只对binary、char、date、datetime、time、signed integer、unsignedinteger这些类型起作用。但两种方法只是改变了输出值的数据类型,并没有改变表中的字段的类型。
下面表中的d字段为datetime类型,将其变为date类型,或者time类型。
九、总结
这里的相关内容还没有整理完毕,文章后面持续更新,建议收藏。
文章中涉及到的命令大家一定要像我一样每个都敲几遍,只有在敲的过程中才能发现自己对命令是否真正的掌握了。
可以微信搜索【小奇JAVA面试】第一时间阅读,回复【资料】获取福利,回复【项目】获取项目源码,回复【简历模板】获取简历模板,回复【学习路线图】获取学习路线图。
以上是关于MySQL-函数的主要内容,如果未能解决你的问题,请参考以下文章