《MySQL函数》PPT课件.ppt

上传人:w****2 文档编号:14685144 上传时间:2020-07-28 格式:PPT 页数:74 大小:364.84KB
返回 下载 相关 举报
《MySQL函数》PPT课件.ppt_第1页
第1页 / 共74页
《MySQL函数》PPT课件.ppt_第2页
第2页 / 共74页
《MySQL函数》PPT课件.ppt_第3页
第3页 / 共74页
点击查看更多>>
资源描述
第13章 MySQL函数,MySQL数据库中提供了很丰富的函数。MySQL函数包括数学函数、字符串函数、日期和时间函数、条件判断函数、系统信息函数、加密函数、格式化函数等。通过这些函数,可以简化用户的操作。例如,字符串连接函数可以很方便的将多个字符串连接在一起。在这一章中将讲解的内容包括: 数学函数 字符串函数 日期和时间函数 条件判断函数 系统信息函数 加密函数 格式化函数,13.1 MySQL函数简介,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)这两个函数的使用。 mysql SELECT SQRT(16), SQRT(2), MOD(5,2); +-+-+-+ | SQRT(16) | SQRT(2) | MOD(5,2) | +-+-+-+ | 4 | 1.4142135623731 | 1 | +-+-+-+ 1 row in set (0.00 sec),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)这两个函数都是返回01的随机数。但是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(s1 FROM s),TRIM(s1 FROM s)函数将去掉字符串s中开始处和结尾处的字符串s1。【示例13-20】下面将演示TRIM(s1 FROM s)函数的使用。 mysql SELECT TRIM(ab FROM ababddddabddab); +-+ | TRIM(ab FROM ababddddabddab) | +-+ | ddddabdd | +-+ 1 row in set (0.00 sec),13.3.9 重复生成字符串的函数REPEAT(s,n),REPEAT(s,n)函数将字符串s重复n次。【示例13-21】下面将演示REPEAT(s,n)函数的使用。 mysql SELECT REPEAT(mysql-,2); +-+ | REPEAT(mysql-,2) | +-+ | mysql-mysql- | +-+ 1 row in set (0.05 sec),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)函数的使用。 mysql SELECT s, SUBSTRING(s,4,3), MID(s,4,3) FROM t2; +-+-+-+ | s | SUBSTRING(s,4,3) | MID(s,4,3) | +-+-+-+ | beijing | jin | jin | +-+-+-+ 1 row in set (0.00 sec),13.3.13 匹配子串开始位置的函数,LOCATE(s1,s)、POSITION(s1 IN s)和INSTR(s,s1)这三个函数从字符串s中获取s1的开始位置。 【示例13-25】下面将演示LOCATE(s1,s)、POSITION(s1 IN s)和INSTR(s,s1)这三个函数的使用。 mysql SELECT s ,LOCATE(jin,s), POSITION(jin IN s), INSTR(s,jin) FROM t2; +-+-+-+-+ | s | LOCATE(jin,s) | POSITION(jin IN s) | INSTR(s,jin) | +-+-+-+-+ | beijing | 4 | 4 | 4 | +-+-+-+-+ 1 row in set (0.00 sec),13.3.14 字符串逆序的函数REVERSE(s),REVERSE(s)函数将字符串s的顺序反过来。【示例13-26】下面将演示REVERSE(s)函数的使用。 mysql SELECT s, REVERSE(s) FROM t2; +-+-+ | s | REVERSE(s) | +-+-+ | beijing | gnijieb | +-+-+ 1 row in set (0.00 sec),13.3.15 返回指定位置的字符串的函数,ELT(n,s1,s2,)函数返回第n个字符串。【示例13-27】下面将演示ELT(n,s1,s2,)函数的使用。 mysql SELECT ELT(2,me,my,he,she); +-+ | ELT(2,me,my,he,she) | +-+ | my | +-+ 1 row in set (0.00 sec),13.3.16 返回指定字符串位置的函数FIELD(s,s1,s2,),FIELD(s,s1,s2,)函数返回第一个与字符串s匹配的字符串的位置。【示例13-28】下面将演示FIELD(s,s1,s2,)函数的使用。 mysql SELECT FIELD(he,me,my,he,she); +-+ | FIELD(he,me,my,he,she) | +-+ | 3 | +-+,13.3.17 返回子串位置的函数FIND_IN_SET(s1,s2),FIND_IN_SET(s1,s2)函数返回在字符串s2中与s1匹配的字符串的位置。其中,字符串s2中包含了若干个用逗号隔开的字符串。【示例13-29】下面将演示FIND_IN_SET(s1,s2)函数的使用。 mysql SELECT FIND_IN_SET(like,i,like,bei,jing); +-+ | FIND_IN_SET(like,i,like,bei,jing) | +-+ | 2 | +-+,13.3.18 选取字符串的函数MAKE_SET(x,s1,s2,)函数,MAKE_SET(x,s1,s2,)函数按x的二进制数从s1,s2,sn中选取字符串。例如12的二进制是1100。这个二进制数从右到左的第三位和第四位是1,所以选取s3和s4。【示例13-30】下面将演示MAKE_SET(x,s1,s2,)函数的使用。 mysql SELECT MAKE_SET(11,a,b,c,d), MAKE_SET(7,a,b,c,d); +-+-+ | MAKE_SET(11,a,b,c,d) | MAKE_SET(7,a,b,c,d) | +-+-+ | a,b,d | a,b,c | +-+-+ 1 row in set (0.00 sec),13.4 日期和时间函数,日期和时间函数是MySQL中另一类最常用的函数。日期和时间函数主要用于处理表中的日期和时间数据。日期和时间函数包括获取当前日期的函数、获取当前时间的函数、计算日期的函数、计算时间的函数等。,13.4.1 获取当前日期的函数和获取当前时间的函数,CURDATE()和CURRENT_DATE()函数获取当前日期;CURTIME()和CURRENT_TIME()函数获取当前时间。【示例13-31】下面将演示CURDATE()、CURRENT_DATE()、CURTIME()和CURRENT_TIME()这四个函数的使用。 mysql SELECT CURDATE(),CURRENT_DATE(),CURTIME(),CURRENT_TIME(); +-+-+-+-+ | CURDATE() | CURRENT_DATE() | CURTIME() | CURRENT_TIME() | +-+-+-+-+ | 2009-10-25 | 2009-10-25 | 15:47:56 | 15:47:56 | +-+-+-+-+ 1 row in set (0.00 sec),13.4.2 获取当前日期和时间的函数,NOW()、CURRENT_TIMESTAMP()、LOCALTIME()和SYSDATE()这四个函数都用来获取当前的日期和时间。这四个函数表示相同的含义。【示例13-32】下面将演示NOW()、CURRENT_TIMESTAMP()、LOCALTIME()和SYSDATE()这四个函数的使用。 mysql SELECT NOW(),CURRENT_TIMESTAMP(),LOCALTIME(),SYSDATE(); +-+-+-+-+ | NOW() | CURRENT_TIMESTAMP() | LOCALTIME() | SYSDATE() | +-+-+-+-+ | 2009-10-25 15:53:21 | 2009-10-25 15:53:21 | 2009-10-25 15:53:21 | 2009-10-25 15:53:21 | +-+-+-+-+ 1 row in set (0.00 sec),13.4.3 UNIX时间戳函数,UNIX_TIMESTAMP()函数以UNIX时间戳的形式返回当前时间;UNIX_TIMESTAMP(d)函数将时间d以UNIX时间戳的形式返回;FROM_UNIXTIME(d)函数把UNIX时间戳的时间转换为普通格式的时间。UNIX_TIMESTAMP(d)函数和FROM_UNIXTIME(d)互为反函数。,13.4.4 返回UTC日期的函数和返回UTC时间的函数,UTC_DATE()函数返回UTC日期;UTC_TIME()函数返回UTC时间。其中,UTC是Universal Coordinated Time的缩写,也就是国际协调时间。,13.4.5 获取月份的函数MONTH(d)和MONTHNAME(d),MONTH(d)函数返回日期d中的月份值,其取值范围是112;MONTHNAME(d)函数返回日期d中的月份的英文名称,如January,February等。其中,参数d可以是日期和时间,也可以是日期。,13.4.6 获取星期的函数DAYNAME(d)、DAYOFWEEK(d)和WEEKDAY(d),DAYNAME(d)函数返回日期d是星期几,显示其英文名,如Monday,Tuesday等;DAYOFWEEK(d)函数也返回日期d是星期几,1表示星期日,2表示星期一,依次类推;WEEKDAY(d)函数也返回日期d是星期几,0表示星期一,1表示星期二,依次类推。其中,参数d可以是日期和时间,也可以是日期。,13.4.7 获取星期数的函数WEEK(d)和WEEKOFYEAR(d),WEEK(d)函数和WEEKOFYEAR(d)函数都是计算日期d是本年的第几个星期。返回值的范围是153。【示例13-37】下面将演示WEEK(d)函数和WEEKOFYEAR(d)函数的使用。 mysql SELECT d,WEEK(d),WEEKOFYEAR(d),dt,WEEK(dt),WEEKOFYEAR(dt) FROM t4; +-+-+-+-+-+-+ | d | WEEK(d) | WEEKOFYEAR(d) | dt | WEEK(dt) | WEEKOFYEAR(dt) | +-+-+-+-+-+-+ | 2009-10-25 | 43 | 43 | 2009-10-25 16:15:59 | 43 | 43 | +-+-+-+-+-+-+ 1 row in set (0.00 sec),13.4.8 获取天数的函数DAYOFYEAR(d)和DAYOFMONTH(d),DAYOFYEAR(d)函数日期d是本年的第几天;DAYOFMONTH(d)函数返回计算日期d是本月的第几天。【示例13-38】下面将演示DAYOFYEAR(d)函数和DAYOFMONTH(d)函数的使用。 mysql SELECT d,DAYOFYEAR(d),DAYOFMONTH(d) FROM t4; +-+-+-+ | d | DAYOFYEAR(d) | DAYOFMONTH(d) | +-+-+-+ | 2009-10-25 | 298 | 25 | +-+-+-+,13.4.9 获取年份、季度、小时、分钟、秒钟的函数,YEAR(d)函数返回日期d中的年份值;QUARTER(d)函数返回日期d是本年第几季度,值的范围是14;HOUR(t)函数返回时间t中的小时值;MINUTE(t)函数返回时间t中的分钟值;SECOND(t)函数返回时间t中的秒钟值。,13.4.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返回秒钟值。,13.4.11 时间和秒钟转换的函数,TIME_TO_SEC(t)函数将时间t转换为以秒为单位的时间;SEC_TO_TIME(s)函数将以秒为单位的时间s转换为时分秒的格式。TIME_TO_SEC(t)和SEC_TO_TIME(s)互为反函数。【示例13-41】下面将演示TIME_TO_SEC(t)函数和SEC_TO_TIME(s)函数的使用。 mysql SELECT t,TIME_TO_SEC(t),SEC_TO_TIME(58559) FROM t4; +-+-+-+ | t | TIME_TO_SEC(t) | SEC_TO_TIME(58559) | +-+-+-+ | 16:15:59 | 58559 | 16:15:59 | +-+-+-+ 1 row in set (0.00 sec),13.4.12 计算日期和时间的函数,1TO_DAYS(d)、FROM_DAYS(n)和DATEDIFF(d1,d2)函数 2ADDDATE(d,n)、SUBDATE(d,n)、ADDTIME(t,n)和SUBTIME(t,n)函数 3ADDDATE(d,INTERVAL expr type)和DATE_ADD(d,INTERVAL expr type)函数,13.4.13 将日期和时间格式化的函数,1DATE_FORMAT(d,f)函数 2TIME_FORMATE(t,f)函数 3GET_FORMAT(type,s)函数,13.5 条件判断函数,条件判断函数用来在SQL语句中进行条件判断。根据是否满足判断条件,SQL语句执行不同的分支。例如,从员工表中查询员工的业绩。如果业绩高于指定值n,则输出“good”。否则,输出“bad”。下面是各种条件判断函数的表达式、作用和使用方法。,13.5.1 IF(expr,v1,v2)函数,IF(expr,v1,v2)函数中,如果表达式expr成立,返回结果v1;否则,返回结果v2。【示例13-51】下面从t6中查询学号(id),分数(grade)。并且,分数大于等于60,显示“PASS”。否则,显示“FAIL”。SELECT语句如下: SELECT id,grade,IF(grade=60,PASS,FAIL) from t6;,13.5.2 IFNULL(v1,v2)函数,IFNULL(v1,v2)函数中,如果v1的不为空,就显示v1的值;否则就显示v2的值。【示例13-52】下面从t6中查询学号(id),分数(grade)。如果分数不为NULL,显示分数。否则,显示“NO GRADE”。SELECT语句如下: SELECT id,IFNULL(grade, NO GRADE) FROM t6;,13.5.3 CASE函数,1CASE WHEN expr1 THEN v1 WHEN expr2 THEN v2 ELSE vn END 2CASE expr WHEN e1 THEN v1 WHEN e2 THEN v2 ELSE vn END,13.6 系统信息函数,系统信息函数用来查询MySQL数据库的系统信息。例如,查询数据库的版本,查询数据库的当前用户等。本小节将详细讲解系统信息函数的作用和使用方法。,13.6.1 获取MySQL版本号、连接数、数据库名的函数,VERSION()函数返回数据库的版本号;CONNECTION_ID()函数返回服务器的连接数,也就是到现在为止MySQL服务的连接次数;DATABASE()和SCHEMA()返回当前数据库名。,13.6.2 获取用户名的函数,USER()、SYSTEM_USER()、SESSION_USER()、CURRENT_USER()和CURRENT_USER这几个函数可以返回当前用户的名称。,13.6.3 获取字符串的字符集和排序方式的函数,CHARSET(str)函数返回字符串str的字符集,一般情况这个字符集就是系统的默认字符集;COLLATION(str)函数返回字符串str的字符排列方式。,13.6.4 获取最后一个自动生成的ID值的函数,LAST_INSERT_ID()函数返回最后生成的AUTO_INCREMENT值。,13.7 加密函数,加密函数是MySQL中用来对数据进行加密的函数。因为数据库中有些很敏感的信息不希望被其他人看到,就应该通过加密方式来使这些数据变成看似乱码的数据。例如用户的密码,就应该经过加密。本小节将详细讲解加密函数的作用和使用方法。 下面是各种加密函数的名称、作用和使用方法。,13.7.1 加密函数PASSWORD(str),PASSWORD(str)函数可以对字符串str进行加密。一般情况下,PASSWORD(str)函数主要是用来给用户的密码加密的。【示例13-59】下面使用PASSWORD(str)函数为字符串“abcd”加密。 mysql SELECT PASSWORD(abcd); PASSWORD(abcd) A154C52565E9E7F94BFC08A1FE702624ED8EFFDA 1 row in set (0.00 sec),13.7.2 加密函数MD5(str),MD5(str)函数可以对字符串str进行加密。MD5(str)函数主要对普通的数据进行加密。【示例13-60】下面使用MD5(str)函数为字符串“abcd”加密。 mysql SELECT MD5(abcd); +-+ | MD5(abcd) | +-+ | e2fc714c4727ee9395f324cd2e7f331f | +-+ 1 row in set (0.05 sec),13.7.3 加密函数ENCODE(str,pswd_str),ENCODE(str,pswd_str)函数可以使用字符串pswd_str来加密字符串str。加密的结果是一个二进制数,必须使用BLOB类型的字段来保存它。,13.7.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是相同的。【示例13-62】下面使用DECODE(crypt_str,pswd_str)为ENCODE(str,pswd_str)加密的数据解密。 mysql SELECT DECODE(ENCODE(abcd,aa),aa); +-+ | DECODE(ENCODE(abcd,aa),aa) | +-+ | abcd | +-+ 1 row in set (0.02 sec),13.8 其它函数,MySQL中除了上述函数以外,还包含了很多函数。例如FORMAT(x,n)函数用来格式化数字x,INET_ATON()函数可以将IP转换为数字。本小节将详细讲解这些函数的作用和使用方法。,13.8.1 格式化函数FORMAT(x,n),FORMAT(x,n)函数可以将数字x进行格式化,将x保留到小数点后n位。这个过程需要进行四舍五入。例如FORMAT(2.356,2)返回的结果将会是2.36;FORMAT(2.353,2)返回的结果将会是2.35。【示例13-63】下面使用FORMAT(x,n)函数来讲235.3456和235.3454进行格式化,都保留到小数点后3位。 mysql SELECT FORMAT(235.3456,3),FORMAT(235.3454,3);,13.8.2 不同进制的数字进行转换的函数,ASCII(s)返回字符串s的第一个字符的ASCII码;BIN(x)返回x的二进制编码;HEX(x)返回x的十六进制编码;OCT(x)返回x的八进制编码;CONV(x,f1,f2)将x从f1进制数变成f2进制数。,13.8.3 IP地址与数字相互转换的函数,INET_ATON(IP)函数可以将IP地址转换为数字表示;INET_NTOA(n)函数可以将数字n转换成IP的形式。其中,INET_ATON(IP)函数中IP值需要加上引号。这两个函数互为反函数。,13.8.4 加锁函数和解锁函数,GET_LOCT(name,time)函数定义一个名称为nam、持续时间长度为time秒的锁。如果锁定成功,返回1;如果尝试超时,返回0;如果遇到错误,返回NULL。RELEASE_LOCK(name)函数解除名称为name的锁。如果解锁成功,返回1;如果尝试超时,返回0;如果解锁失败,返回NULL;IS_FREE_LOCK(name)函数判断是否使用名为name的锁。如果使用,返回0;否则,返回1。,13.8.5 重复执行指定操作的函数,BENCHMARK(count,expr)函数将表达式expr重复执行count次,然后返回执行时间。该函数可以用来判断MySQL处理表达式的速度。,13.8.6 改变字符集的函数,CONVERT(s USING cs)函数将字符串s的字符集变成cs。【示例13-68】下面将字符串“ABC”的字符集变成gbk。 mysql SELECT CHARSET(ABC),CHARSET(CONVERT(ABC USING gbk);,13.8.7 改变字段数据类型的函数,CAST(x AS type)和CONVERT(x,type)这两个函数将x变成type类型。这两个函数只对BINARY、CHAR、DATE、DATETIME、TIME、SIGNED INTEGER、UNSIGNED INTEGER这些类型起作用。但两种方法只是改变了输出值的数据类型,并没有改变表中字段的类型。,13.9 本章实例,1生成三个1100之间的随机整数 2计算PI(圆周率)的余弦值和自然对数值 3按如下要求来操作表 4先加一个名为“mybook1”的锁,持续时间为20秒。然后马上加一个名为“mybook2”的锁,持续时间为30秒。然后查询这两个锁的状态。最后解除这两个锁。,13.10 上机实践,题目要求: (1)向num_test表中插入记录。 (2)在字符串“I love ”和字符串“beijing”合并为同一个字符串。 (3)返回字符串“me”在字符串“You love me. He love me.”中第一次出现的位置。 (4)用GET_FORMAT(DATE, EUR)返回的格式来显示当前日期;用GET_FORMAT(TIME, USA)返回的格式来显示当前时间。 (5)查看当前数据库的版本号,当前数据库名和当前用户。 (6)使用字符串“college”来加密字符串“university”。,13.11 常见问题及解答,1表中birth字段存的出生日期,如何来计算年龄? 2如何改变字符串的字符集? 3用户的密码应该怎么加密?,13.12 小结,本章介绍了MySQL数据库提供的内部函数。这些函数包括数学函数、字符串函数、日期和时间函数、条件判断函数、系统信息函数、加密函数等。字符串函数和日期和时间函数是本章重点介绍的内容。条件判断函数是本章的难点,因为条件判断函数涉及很多条件判断和跳转的语句。这些函数经常与SELECT语句一起使用,用来方便用户的查询。同时INSERT 、UPDATE、DELECT语句和条件表达式也可以使用这些函数。读者一定要上机实际操作这些函数,这样可以对函数了解得更加透彻。下一章将为读者讲解如何创建、修改、删除和使用存储过程和函数。,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!