mysql ifnull w3_SQL --函数 - 求是科技的个人空间 - OSCHINA - 中文开源技术交流社区...

这一章节主要谈谈SQL常用函数

一、求余函数MOD(x,y)

MOD(x,y) 返回x被y除后的余数,MOD()对于带有小数部分的数值也起作用,它返回除数后的精确余数。

例子

1.被除数和除数都是整数

mysql ifnull w3_SQL --函数 - 求是科技的个人空间 - OSCHINA - 中文开源技术交流社区..._第1张图片

2.被除数或者除数带有相同位数小数

mysql ifnull w3_SQL --函数 - 求是科技的个人空间 - OSCHINA - 中文开源技术交流社区..._第2张图片

mysql ifnull w3_SQL --函数 - 求是科技的个人空间 - OSCHINA - 中文开源技术交流社区..._第3张图片

3.被除数和除数带有不同位数小数,返回小数位数以除数为准

mysql ifnull w3_SQL --函数 - 求是科技的个人空间 - OSCHINA - 中文开源技术交流社区..._第4张图片

二、四舍五入函数ROUND(x,y) 和 截取小数点后n位函数TRUNCATE(x,y)

TRUNCATE(x,y)  返回被舍去至小数点后y位的数字x;若y的值为0,则结果不带小数部分。

1.小数点后0位

mysql ifnull w3_SQL --函数 - 求是科技的个人空间 - OSCHINA - 中文开源技术交流社区..._第5张图片

2.小数点后1位

mysql ifnull w3_SQL --函数 - 求是科技的个人空间 - OSCHINA - 中文开源技术交流社区..._第6张图片

ROUND(x,y)  返回被舍去至小数点后y位的数字x,x会四舍五入;若y的值为0,则结果不带小数部分,结果还是会四舍五入。

1.不带小数的四舍五入,四舍

mysql ifnull w3_SQL --函数 - 求是科技的个人空间 - OSCHINA - 中文开源技术交流社区..._第7张图片

2.不带小数的四舍五入,五入

mysql ifnull w3_SQL --函数 - 求是科技的个人空间 - OSCHINA - 中文开源技术交流社区..._第8张图片

3.带一位小数的五入

mysql ifnull w3_SQL --函数 - 求是科技的个人空间 - OSCHINA - 中文开源技术交流社区..._第9张图片

备注:8.36带一位小数四舍五入,0.06>=0.05,所以五入。

4.带一位小数的四舍

mysql ifnull w3_SQL --函数 - 求是科技的个人空间 - OSCHINA - 中文开源技术交流社区..._第10张图片

三、十六进制函数HEX(N_or_S)与反十六进制函数UNHEX(str)

1.对字符串进行十六进制编码

mysql ifnull w3_SQL --函数 - 求是科技的个人空间 - OSCHINA - 中文开源技术交流社区..._第11张图片

2.对十六进制进行反码

mysql ifnull w3_SQL --函数 - 求是科技的个人空间 - OSCHINA - 中文开源技术交流社区..._第12张图片

四、字符串函数

1.CHAR_LENGTH(str) 返回字符串str所包含的字符个数。

mysql ifnull w3_SQL --函数 - 求是科技的个人空间 - OSCHINA - 中文开源技术交流社区..._第13张图片

2.CONCAT(str1,str2,...)  字符串拼接函数

mysql ifnull w3_SQL --函数 - 求是科技的个人空间 - OSCHINA - 中文开源技术交流社区..._第14张图片

mysql ifnull w3_SQL --函数 - 求是科技的个人空间 - OSCHINA - 中文开源技术交流社区..._第15张图片

3.字符串替换函数 INSERT (str,pos,len,newstr)

将字符串str中pos位置(从1开始计算)开始,长度为len的字符串用newstr代替

mysql ifnull w3_SQL --函数 - 求是科技的个人空间 - OSCHINA - 中文开源技术交流社区..._第16张图片

4.字符串代替函数 REPLACE(str,from_str,to_str)

REPLACE(源字符串,需要替换的字符串,替换成的值)

mysql ifnull w3_SQL --函数 - 求是科技的个人空间 - OSCHINA - 中文开源技术交流社区..._第17张图片

5.字符串填充函数 LPAD(str,len,padstr) 和 RPAD(str,len,padstr)

LPAD(源字符串,填充后字符串总长度,填充字符串),padstr填充到str的左边去,如果str的个数大于len,则返回拼接后len长度字符串。

mysql ifnull w3_SQL --函数 - 求是科技的个人空间 - OSCHINA - 中文开源技术交流社区..._第18张图片

mysql ifnull w3_SQL --函数 - 求是科技的个人空间 - OSCHINA - 中文开源技术交流社区..._第19张图片

mysql ifnull w3_SQL --函数 - 求是科技的个人空间 - OSCHINA - 中文开源技术交流社区..._第20张图片

mysql ifnull w3_SQL --函数 - 求是科技的个人空间 - OSCHINA - 中文开源技术交流社区..._第21张图片

RPAD(str,len,padstr),即向右拼接字符串

mysql ifnull w3_SQL --函数 - 求是科技的个人空间 - OSCHINA - 中文开源技术交流社区..._第22张图片

6.删除空格(或指定字符)的函数  TRIM([remstr FROM] str)

TRIM(str)  删除字符串str两侧的空格,字符串中间的空格不能删除。

mysql ifnull w3_SQL --函数 - 求是科技的个人空间 - OSCHINA - 中文开源技术交流社区..._第23张图片

//不能删除字符串中间的空格

mysql ifnull w3_SQL --函数 - 求是科技的个人空间 - OSCHINA - 中文开源技术交流社区..._第24张图片

TRIM('removeStr' FROM str)  删除str中前面或者后面为removeStr的字符串,中间的不能删除,默认时删除空格。

mysql ifnull w3_SQL --函数 - 求是科技的个人空间 - OSCHINA - 中文开源技术交流社区..._第25张图片

7.重复生成字符串函数  REPEAT (str,count)

REPEAT (需要重复的字符串,重复次数)

mysql ifnull w3_SQL --函数 - 求是科技的个人空间 - OSCHINA - 中文开源技术交流社区..._第26张图片

mysql ifnull w3_SQL --函数 - 求是科技的个人空间 - OSCHINA - 中文开源技术交流社区..._第27张图片

mysql ifnull w3_SQL --函数 - 求是科技的个人空间 - OSCHINA - 中文开源技术交流社区..._第28张图片

8.字符串比较大小函数  STRCMP(expr1,expr2)

mysql ifnull w3_SQL --函数 - 求是科技的个人空间 - OSCHINA - 中文开源技术交流社区..._第29张图片

五、日期和时间函数

1.获取当期日期和当前时间的函数

mysql ifnull w3_SQL --函数 - 求是科技的个人空间 - OSCHINA - 中文开源技术交流社区..._第30张图片

如上都是获取日期和时间的函数,我常用的是 sysdate。

2.如下都是时间函数

#查询年

SELECT YEAR(SYSDATE());

#查询月份数字

SELECT MONTH(SYSDATE());

#查询月份英文

SELECT MONTHNAME(SYSDATE());

#查询的是几号

SELECT DAY(SYSDATE());

#查询的是星期

SELECT DAYNAME(SYSDATE());

#查询现在的小时

SELECT HOUR(SYSDATE())

#查询现在的分钟

SELECT MINUTE(SYSDATE());

#查询现在的秒数

SELECT SECOND(SYSDATE());

#时间转换为秒钟

SELECT TIME_TO_SEC(SYSDATE());

#秒钟转换为时间

SELECT SEC_TO_TIME(65393)

#日期格式化 http://www.w3school.com.cn/sql/func_date_format.asp

SELECT DATE_FORMAT(SYSDATE(),'%Y%m%d')

#时间格式化

SELECT TIME_FORMAT(SYSDATE(),'%H%i%s')

六、条件判断函数

常用的条件判断函数有if、ifnull、case

1.IF(expr1,expr2,expr3)函数,如果表达式expr1是true,则F()返回值为expr2;否则返回表达式expr3。

mysql ifnull w3_SQL --函数 - 求是科技的个人空间 - OSCHINA - 中文开源技术交流社区..._第31张图片

2.IFNULL(expr1,expr2)函数,如果expr1不为null,则f()返回值为expr1;否则返回expr2。

mysql ifnull w3_SQL --函数 - 求是科技的个人空间 - OSCHINA - 中文开源技术交流社区..._第32张图片

3.case函数

case  when  expr1  then  value1  else  value2  end

当expr1成立时,结果为value1;否则结果为value2

mysql ifnull w3_SQL --函数 - 求是科技的个人空间 - OSCHINA - 中文开源技术交流社区..._第33张图片

七、信息系统函数

1.获取mysql版本号

mysql ifnull w3_SQL --函数 - 求是科技的个人空间 - OSCHINA - 中文开源技术交流社区..._第34张图片

2.获取mysql服务器的连接次数

mysql ifnull w3_SQL --函数 - 求是科技的个人空间 - OSCHINA - 中文开源技术交流社区..._第35张图片

备注:该返回值为到现在为止mysql服务器的连接次数,每个连接都有自己唯一的ID。

3.查询数据库名称

mysql ifnull w3_SQL --函数 - 求是科技的个人空间 - OSCHINA - 中文开源技术交流社区..._第36张图片

八、加密函数

1.PASSWORD(str)

password加密后的数据长度是41位,且以*开头,可用select length(password('lixianli'))察看。password函数加密不可逆。它主要用于密码加密。但是这种生成密码的方法依赖数据库,而且需要连接数据库,有网络开销。通常还用MD5的方法 做明码的加密。

mysql ifnull w3_SQL --函数 - 求是科技的个人空间 - OSCHINA - 中文开源技术交流社区..._第37张图片

mysql ifnull w3_SQL --函数 - 求是科技的个人空间 - OSCHINA - 中文开源技术交流社区..._第38张图片

2.MD5(str)

MD5为字符串计算出一个128比特校验和。该值以32位十六进制的二进制字符串形式返回。此加密算法不可逆。其实md5算法是信息摘要算法,如果拿来做压缩也是有损压缩,理论上即使有反向算法也无法恢复信息原样。他常被用来检验下载数据的完整性。如好多软件都提供md5码,供用户下载完毕校验完整性。

mysql ifnull w3_SQL --函数 - 求是科技的个人空间 - OSCHINA - 中文开源技术交流社区..._第39张图片

mysql ifnull w3_SQL --函数 - 求是科技的个人空间 - OSCHINA - 中文开源技术交流社区..._第40张图片

3.加密和解密函数

ENCODE(str,pass_str) 和 DECODE(crypt_str,pass_str)

ENCODE(str,pass_str)  使用pass_str作为密码,加密str。加密结果是二进制数,需要使用BLOB类型的字段保存。

DECODE(crypt_str,pass_str) 使用pass_str作为密码,解密crypt_str。解密结果就是经过encode加密之前的str。

mysql ifnull w3_SQL --函数 - 求是科技的个人空间 - OSCHINA - 中文开源技术交流社区..._第41张图片

mysql ifnull w3_SQL --函数 - 求是科技的个人空间 - OSCHINA - 中文开源技术交流社区..._第42张图片

4.格式化函数

FORMAT(X,D)  将数字x格式化,并以四舍五入的方式保留小数点后n位。

mysql ifnull w3_SQL --函数 - 求是科技的个人空间 - OSCHINA - 中文开源技术交流社区..._第43张图片

5.不同进制的数字转换函数

CONV(N,from_base,to_base)  n为需要转换的数,from_base为源转换进制,to_base为目的转换进制。

mysql ifnull w3_SQL --函数 - 求是科技的个人空间 - OSCHINA - 中文开源技术交流社区..._第44张图片

mysql ifnull w3_SQL --函数 - 求是科技的个人空间 - OSCHINA - 中文开源技术交流社区..._第45张图片

6.返回不同的进制

mysql ifnull w3_SQL --函数 - 求是科技的个人空间 - OSCHINA - 中文开源技术交流社区..._第46张图片

7.IP地址与数字相互转换函数

mysql ifnull w3_SQL --函数 - 求是科技的个人空间 - OSCHINA - 中文开源技术交流社区..._第47张图片

如上,当要存储ip到数据库时,可以现将其转换成数字,再存入数据库,取出来的时候,可以再转换成ip。

8.重复执行指定操作的函数  BENCHMARK(count,expr)

该函数重复count次执行表达式expr,它常用于计算MYSQL处理表达式的速度。

结果值通常为0,0表示处理速度很快。

举例子说明

mysql ifnull w3_SQL --函数 - 求是科技的个人空间 - OSCHINA - 中文开源技术交流社区..._第48张图片

由上可以看出,PASSWORD('lixianli & panda')被执行0次的时间是0.000s;被执行10000次的时间是0.016s。

自此,mysql的函数部分介绍完毕。

你可能感兴趣的:(mysql,ifnull,w3)