substr取子串( substr(被截取的字符串,起始下标,截取的长度) )
select substr (ename,1,1)from emp ;
注意:起始下标从1开始,没有0.
找出员工名字第一-个字母是A的员工信息?
第一种方式:模糊查询
select ename from emp where ename like 'A&' ;
第二种方式:substr函数
select ename from emp where substr (ename,1,1) = 'A' ;|
concat函数进行字符串的拼接
select concat ( empno , ename ) from emp;
length取长度select length (ename) as enamelength from emp ;
trim去空格
select * from emp where ename = trim( ' KING') ;
str_todate 将字符串转换成日期
date_ format 格式化日期
format 设置千分位
round四舍五入结论: select后 面可以跟某个表的字段名(可以等同看做变量名);也可以跟字面量/字面值(数据)
select round(1236.567, 1) as result from emp; //保留1个小数1236.6
select round (1236.567,2) as result from emp;//保留2个小数1236.57
select round(1236.567, -1) as result from emp; //1240
rand()生成随机数
select round(rand()*100,0) rom emp; //100以内的随机数
ifnull可以将null转换成-一个具体值注意: NULL只要参与运算,最终结果一定是NULL.为了避免这个现象,需要使用ifnull函数.
ifnull函数用法: ifnull (数据,被当做哪个值)
如果“数据"为NULL的时候,把这个数据结构当做哪个值.
补助为NULL的时候,将补助当做0
select ename,(sal + ifnull (commn, 0)*12 as yearsal from emp;
case. .when. . then. .when.. then. . else. .end
当员工的工作岗位是MANAGER的时候,工资上调10号,当工作岗位是SALESMAN的时候,工资上调50 ,其它正常.
(注意:不修改数据库,只是将查询结果显示为工资上调)
select ename,job, case job when 'MANAGER! then sal*1.1 when " SALESMAN' then sa1*1.5 else sal end;