SELECT * FROM emp;
-- 操作字符的函数
24、SELECT LENGTH('张三') FROM dual; --按照字
25、SELECT LENGTHB('张三') FROM dual; --按字节
26、SELECT LENGTHC('张三') FROM dual; --unicode的长度
27、SELECT ename,SUBSTR(ename,1,1) "first", SUBSTR(ename,-1) "last"FROM emp; --substr(字符串,m,n),m是从第几个字符开始,如果为负的意思是从后边的第几个开始,N是数多少个,若不指定就直接字符串的结尾
28、SELECT ename, INSTR(ename,'A') "A在第几位" FROM emp; --求子串在父串中的位置,0表示没有在父串中找到该字串
-- trim 函数是截掉头或是尾连接的字符,一般用途是去空格
29、SELECT TRIM(TRAILING 'a' FROM 'aaaaababaaaaa') FROM dual; --截掉连续的后置的a 输出结果:aaaaababab
30、SELECT TRIM(LEADING 'a' FROM 'aaaaababaaaaa') FROM dual; --截掉连续的前置的a
31、SELECT TRIM(BOTH 'a' FROM 'aaaaabababaaaaaa') FROM dual; --截掉连续的前置后置的a
32、SELECT TRIM('a' FROM 'aaaaabababaaaaa') FROM dual; -- 若不指明前后置,则默认both 输出结果:babab
33、SELECT LPAD(ename,20,'-') ename,RPAD(ename,20,'-') ename FROM emp; -- 左右铺垫,20是总共铺垫到多少位,“-”是要铺垫的字符串
34、SELECT LPAD(sal,2,' ') ename,RPAD(sal,10,' ') ename,sal FROM emp; -- lpad左铺垫,rpad右铺垫,一般用于美化输出结果,如果位数不足,按照截取后的结果显示,不报错
35、SELECT REPLACE('JACK and JUE','J','BL') FROM dual; --将字符串中的J全部替换为BL 输出结果 BLACK and BLUE
-- 操作数字的函数
-- 以小数点位为核心,2是小数点后两位,0可以不写,表示取整,
-- -1表示小数点前以为,Round是四舍五入,trunc是截取,全部舍弃
36、SELECT ROUND(45.923,0),ROUND(45.923,0), ROUND(45.923,-1) FROM dual;
37、SELECT ROUND(45.923,2),ROUND(45.923), ROUND(45.923,-2) FROM dual;
38、SELECT CEIL(45.0010) FROM dual; --取整,上进位,和trunc全部去掉相反 输出结果 46
39、SELECT ABS(-23.00) FROM dual; --取绝对值 输出结果为 23
40、SELECT MOD(sal,2000) FROM emp; --取余数