第13章 MySQL函数

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第13章MySQL函数MySQL数据库中提供了很丰富的函数。MySQL函数包括数学函数、字符串函数、日期和时间函数、条件判断函数、系统信息函数、加密函数、格式化函数等。通过这些函数,可以简化用户的操作。例如,字符串连接函数可以很方便的将多个字符串连接在一起。在这一章中将讲解的内容包括:•数学函数•字符串函数•日期和时间函数•条件判断函数•系统信息函数•加密函数•格式化函数13.1MySQL函数简介MySQL函数是MySQL数据库提供的内部函数。这些内部函数可以帮助用户更加方便的处理表中的数据。本小节中将简单介绍MySQL中包含哪几类函数,以及这几类函数的的使用范围和作用。MySQL函数包括数学函数、字符串函数、日期和时间函数、条件判断函数、系统信息函数、加密函数等。SELECT语句及其条件表达式都可以使用这些函数。同时,INSERT、UPDATE、DELECT语句及其条件表达式也可以使用这些函数。例如,表中的某个数据是负数,现在需要将这个数据显示为正数。这就可以使用绝对值函数。从上面可以知道,MySQL函数可以对表中数据进行相应的处理,以便得到用户希望得到的数据。这些函数可以使MySQL数据库的功能更加强大。13.2数学函数数学函数是MySQL中常用的一类函数。主要用于处理数字,包括整型、浮点数等。数学函数包括绝对值函数、正弦函数、余弦函数、获取随机数的函数等。13.2.1绝对值函数ABS(x)和返回圆周率的函数PI()ABS(x)用来求绝对值;PI()用来返回圆周率。13.2.2平方根函数SQRT(x)和求余函数MOD(x,y)SQRT(x)用来求平方根;MOD(x,y)用来求余数。【示例13-2】下面将演示SQRT(x)、MOD(x,y)这两个函数的使用。mysqlSELECTSQRT(16),SQRT(2),MOD(5,2);+--------------+---------------------------+--------------+|SQRT(16)|SQRT(2)|MOD(5,2)|+--------------+---------------------------+--------------+|4|1.4142135623731|1|+--------------+---------------------------+--------------+1rowinset(0.00sec)13.2.3获取整数的函数CEIL(x)、CEILING(x)和FLOOR(x)CEIL(x)和CEILING(x)这两个函数返回大于或等于x的最小整数;FLOOR(x)函数返回小于或等于x的最大整数。13.2.4获取随机数的函数RAND()和RAND(x)RAND()和RAND(x)这两个函数都是返回0~1的随机数。但是RAND()返回的数是完全随机的,而RAND(x)函数的x相同时返回的值是相同的。13.2.5四舍五入函数ROUND(x)、ROUND(x,y)和TRUNCATE(x,y)ROUND(x)函数返回离x最近的整数,也就是对x进行四舍五入处理;ROUND(x,y)函数返回x保留到小数点后y位的值,截断时需要进行四舍五入处理;TRUNCATE(x,y)函数返回x保留到小数点后y位的值。13.2.6符号函数SIGN(x)SIGN(x)函数返回x的符号,x是负数、0、正数分别返回-1、0、1。13.2.7幂运算函数POW(x,y)、POWER(x,y)和EXP(x)POW(x,y)和POWER(x,y)这两个函数计算x的y次方,即xy;EXP(x)函数计算e的x次方,即ex。13.2.8对数运算函数LOG(x)和LOG10(x)函数LOG(x)函数计算x的自然对数;LOG10(x)函数计算以10为底的对数。其中,EXP(x)和LOG(x)这两个函数互为反函数。13.2.9角度与弧度相互转换的函数RADIANS(x)和DEGREES(x)RADIANS(x)函数将角度转换为弧度;DEGREES(x)函数将弧度转换为角度。这两个函数互为反函数。13.2.10正弦函数SIN(x)和反正弦函数ASIN(x)SIN(x)函数用来求正弦值,其中x是弧度;ASIN(x)函数用来求反正弦值。ASIN(x)中x的取值必须在-1到1之间。否则返回的结果将会是NULL。13.2.11余弦函数COS(x)和反余弦函数ACOS(x)COS(x)函数用来求余弦值,其中x是弧度;ACOS(x)函数用来求反余弦值。COS(x)和ACOS(x)互为反函数。并且,ACOS(x)中x的取值必须在-1到1之间。否则返回的结果将会是NULL。13.2.12正切函数、反正切函数和余切函数TAN(x)函数用来求正切值,其中x是弧度;ATAN(x)和ATAN2(x)用来求反正切值;COT(x)函数用来求余切值。TAN(x)与ATAN(x)、ATAN2(x)互为反函数。而且TAN(x)返回值是COT(x)返回值的倒数。13.3字符串函数字符串函数是MySQL中最常用的一类函数。字符串函数主要用于处理表中的字符串。字符串函数包括求字符串长度、合并字符串、在字符串中插入子串、大小字母之间切换等函数。13.3.1计算字符串字符数的函数和字符串长度的函数CHAR_LENGTH(s)函数计算字符串s的字符数;LENGTH(s)函数计算字符串s的长度。13.3.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隔开。13.3.3替换字符串的函数INSERT(s1,x,len,s2)INSERT(s1,x,len,s2)函数将字符串s1中x位置开始长度为len的字符串用s2替换。13.3.4字母大小写转换函数UPPER(s)函数和UCASE(s)函数将字符串s的所有字母变成大写字母;LOWER(s)函数和LCASE(s)函数将字符串s的所有字母变成小写字母。13.3.5获取指定长度的字符串的函数LEFT(s,n)和RIGHT(s,n)LEFT(s,n)函数返回字符串s的前n个字符;RIGHT(s,n)函数返回字符串s的后n个字符。13.3.6填充字符串的函数LPAD(s1,len,s2)和RPAD(s1,len,s2)LPAD(s1,len,s2)函数将字符串s2填充到s1的开始处,使字符串长度达到len;RPAD(s1,len,s2)函数将字符串s2填充到s1的结尾处,使字符串长度达到len。13.3.7删除空格的函数LTRIM(s)、RTRIM(s)和TRIM(s)LTRIM(s)函数将去掉字符串s开始处的空格;RTRIM(s)函数将去掉字符串s结尾处的空格;TRIM(s)函数将去掉字符串s开始处和结尾处的空格。13.3.8删除指定字符串的函数TRIM(s1FROMs)TRIM(s1FROMs)函数将去掉字符串s中开始处和结尾处的字符串s1。【示例13-20】下面将演示TRIM(s1FROMs)函数的使用。mysqlSELECTTRIM('ab'FROM'ababddddabddab');+-------------------------------------------------+|TRIM('ab'FROM'ababddddabddab')|+-------------------------------------------------+|ddddabdd|+-------------------------------------------------+1rowinset(0.00sec)13.3.9重复生成字符串的函数REPEAT(s,n)REPEAT(s,n)函数将字符串s重复n次。【示例13-21】下面将演示REPEAT(s,n)函数的使用。mysqlSELECTREPEAT('mysql-',2);+---------------------------+|REPEAT('mysql-',2)|+---------------------------+|mysql-mysql-|+---------------------------+1rowinset(0.05sec)13.3.10空格函数SPACE(n)和替换函数REPLACE(s,s1,s2)SPACE(n)函数返回n个空格;REPLACE(s,s1,s2)函数将字符串s2替代字符串s中的字符串s1。13.3.11比较字符串大小的函数STRCMP(s1,s2)STRCMP(s1,s2)函数用来比较字符串s1和s2。如果s1大于s2,结果返回1;如果s1等于s2,结果返回0;如果s1小于s2,结果返回-1。13.3.12获取子串的函数SUBSTRING(s,n,len)和MID(s,n,len)SUBSTRING(s,n,len)函数和MID(s,n,len)函数从字符串s的第n个位置开始获取长度为len的字符串。【示例13-24】下面将演示SUBSTRING(s,n,len)函数和MID(s,n,len)函数的使用。mysqlSELECTs,SUBSTRING(s,4,3),MID(s,4,3)FROMt2;+---------+-----------------------------+---------------+|s|SUBSTRING(s,4,3)|MID(s,4,3)|+---------+-----------------------------+---------------+|beijing|jin|jin|+---------+-----------------------------+---------------+1rowinset(0.00sec)13.3.13匹配子串开始位置的函数LOCATE(s1,s)、POSITION(s1INs)和INSTR(s,s1)这三个函数从字符串s中获取s1的开始位置。【示例13-25】下面将演示LOCATE(s1,s)、POSITION(s1INs)和INSTR(s,s1)这三个函数的使用。mysqlSELECTs,LOCATE('jin',s),POSITION('jin'INs),INSTR(s,'jin')FROMt2;+-----------+---------------------+----------------------------+------------------+|s|LOCATE('jin',s)|POSITION('jin'INs)|INSTR(s,'jin')|+-----------+---------------------+----------------------------+------------------+|beijing|4|4|4|+-----------+---------------------+----------------------------+------------------+1rowinset(0.00sec)13.3.14字符串逆序的函数REVERSE(s)REVERSE(s)函数将字符串s的顺序反过来。【示例13-26】下面将演示REVERSE(s)函数的使用。mysqlSELECTs,REVERSE(s)FROMt2;+-----------+-------------------+|s|REVERSE(s)|+-----------+-------------------+|beijing|gnijieb|+-----------+-------------------+1rowinset(0.00sec)13.3.15返回指定位置的字符串的函数ELT(n,s1,s2,…)函数返回第n个字

1 / 74
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功