单行处理函数
#数据处理函数/单行处理函数#数据处理函数#数据处理函数又被称为单行处理函数#单行处理函数的特点:一个输出对应一个输出。和单行处理函数相对的是,多行处理函数(多行处理函数特点,多个输入对应一个输出。)#单行处理函数常见的有哪些?#LOWER(str) 转换小写SELECT LOWER(ename) FROM emp;#UPPER(str) 转换大写SELECT UPPER(enam) FROM student;#SUBSTR() 取子串(SUBSTR(被截取的字符串,起始下标,截取的长度))SELECT SUBSTR(ename,1,1) as ename FROM emp;#请找出员工名字第一个字母是A的员工信息#第一种模糊查询SELECT ename FROM emp WHERE ename LIKE 'A%';#第二种方式:SUBSTR()函数SELECT ename FROM emp WHERE SUBSTR(ename,1,1) = 'A';#首字母大写SELECT UPPER(SUBSTR(ename,1,1)) FROM emp;SELECT SUBSTR(ename,2,LENGTH(ename)-1) FROM emp;SELECT CONCAT(UPPER(SUBSTR(ename,1,1)),SUBSTR(ename,2,LENGTH(ename)-1)) as resultFROMemp;
# CONCAT()函数进行字符串的拼接SELECT CONCAT(empno,ename) FROM emp;#length取长度SELECT LENGTH(ename) as enamelength FROM emp;#trlm去空格SELECT * FROM emp WHERE ename = 'KING'; #查不到SELECT * FROM emp WHERE ename = TRIM('KING');#可以查到#STR_TO_DATE() 将字符串转换成日期#DATE_FORMAT() 格式化日期#FORMAT() 设置千分位#case..when..then..when...then...else...end#当员工的工作岗位是MANANGER时,工资上调10%,当员工工作岗位是SALESMAN的时候,工资上调百分之50(不修改数据库,只是将查询结果显示为工资上调)SELECT ename,job,sal as oldsal,(CASE job WHEN 'manager' THEN sal*1.1 WHEN 'salesman' THEN sal*1.5 ELSE sal END) as newsal FROM emp;# ROUND()四舍五入SELECT 字段 FROM 表名;SELECT ename FROM emp;SELECT 'abc' FROM emp; #SELECT 后面直接跟“字面量/字面值”SELECT abc FROM emp;#> 1054 - Unknown column 'abc' in 'field list' 会报错 因为会把abc当做一个字段的名字,去emp表中找abc字段去了。SELECT 1000 as num FROM emp; #1000也是被当做一个字面量/字面值。#结论:SELECT后面可以跟某个表的字段名(可以等同看做变量名),也可以跟字面量/字面值(数据)。SELECT 21000 as num FROM dept;SELECT ROUND(1236.231,0) as result FROM emp;#保留整数位SELECT ROUND(1236.231,1) as result FROM emp; #保留1个小数SELECT ROUND(1236.231,-1) as result FROM emp;#保留到十位SELECT ROUND(1234.231,-2) as result FROM emp;#保留到百位#rand 生成随机数SELECT RAND() FROM emp;SELECT RAND()*100 FROM emp;SELECT ROUND(RAND()*100) FROM emp; # 100以内的随机数#IFNULL() 可以将null 转换成一个具体值#IFNULL() 是空处理函数。专门处理空的。在所有数据库当中,只要有Null参与的数学运算,最终结果就是NULL。为了避免这个现象,需要使用ifnull函数SELECT ename,sal + comm as selcomm FROM emp;#计算年薪 补助为NULL时,将补助当做0;SELECT ename, ((sal + IFNULL(comm,0))*12)FROM emp;
作者:钟心意
来源链接:https://www.cnblogs.com/Xinyi-bigdata/p/15212260.html
版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。
2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。