1 --oracle 函数 2 --lower(char):将字符串转换为小写格式 3 --upper(char):将字符串转换为大写格式 4 --length(char):返回字符串的长度 5 --substr(char,m,n):取字符串的子串 6 --用户名小写 7 select lower(ename),sal from emp; 8 --用户名大写 9 select upper(ename),sal from emp; 10 --显示正好为五个字符用户名 11 select * from emp where length(ename)=5; 12 --显示所有员工姓名的前三个字符 取的是从第1个字符开始,往数后面3个字符 13 select substr(ename,1,3)from emp; 14 --以手字母大写的方式显示所有的员工姓名, 15 select (upper(substr(ename,1,1))||lower(substr(ename,2,length(ename)-1))) names from emp; 16 --以首字母小写,剩下的全部小写 17 select lower(substr(ename,1,1))||upper(substr(ename,2,length(ename)-1)) from emp; 18 --replace(char1,search_string,replace_string) 字符串替换 19 --把'A'换成'我是大A' 20 select replace(ename,'A','我是大A') from emp; 21 --insert(char1,char2,[,n[,m]]):找字符串的位子 22 23 --数学函数 24 --round(n,[m]):该函数用于执行四舍五入,如果省掉m,则四舍五入到整数,如果m是正数,则四舍五入到小数点的m位后,如果m是负数则四舍五入到小数点的m位前 25 --trunc(n,[m]):该函数用去截取数字,如果省掉m,就截取小数部分,如果m是正数,则四舍五入到小数点的m位后,如果m是负数则四舍五入到小数点的m位前 26 --mod(m,n):取摸的,就是m/n的余数 27 --floor(n):返回小于或等n的最大整数 28 --ceil(n):返回大于或是等于n的最小整数 29 select * from emp; 30 select round(comm,1),comm from emp where ename='SMITH' 31 --在做oracle测试时,可以使用dual表。 32 --显示在一个月为30天的情况下,显示所有员工的日薪资,忽略余数 33 select ename,trunc(sal/30) from emp; 34 select ename,floor(sal/30) from emp; 35 --abs(n):返回一个数字nd 绝对值 36 select abs(-13) from dual; 37 --acos(n):返回数字的反余弦值 38 --asin(n):返回数字的反正弦值 39 --atan(n):返回数字的反正切 40 --exp(n):返回e的n次幂 41 --log(m,n):返回对数值 42 --power(m,n):返回m的n次幂 43 44 --日期函数 45 --默认情况下日期格式是dd-mon--yy 即:天天--月月-年年 46 --sysdate:该函数返回系统时间 47 select sysdate from dual; 48 --add_months(d,n):增加月的计算 49 --查询入职时间超过8个月的员工 50 select * from emp where sysdate>add_months(hiredate,8); 51 --last_day(d):返回指定日期所在月份的最后一天 52 --显示满了10年的员工 53 select * from emp where sysdate>=add_months(hiredate,120); 54 --对于每个员工,显示其加入公司的天数 55 select floor(sysdate-hiredate) "入职天数" ,ename from emp; 56 --找出个月倒数第三天受雇的所有员工 57 select * from emp where last_day(hiredate)-2=hiredate; 58 59 --转换函数:用于将数据类型从一种转换为另一种 60 select ename,to_char(hiredate,'yyyy-mm-dd hh24:mi:ss') from emp; 61 --显示1980年入职的员工 62 select * from emp where to_char(hiredate,'yyyy')=1980; 63 --显示12月份入职的员工 64 select * from emp where to_char(hiredate,'mm')=12; 65 66 67 --sql函数 68 --sys_context 69 --1.terminal : 当前会话呵护所对应的终端的标示符 70 select sys_context('userenv','terminal')from dual; 71 --2.language: 语言 72 select sys_context('userenv','language')from dual; 73 --3.db_name:当前数据库的名称 74 --显示正在使用 的数据库 75 select sys_context('userenv','db_name')from dual; 76 --4.nls_date_format 当前会话客户所对应的的日期格式 77 select sys_context('userenv','nls_date_format')from dual; 78 --5.session_user:当前会话客户所对应的数据库用户名 79 select sys_context('userenv','session_user')from dual; 80 --6.current_schema:当前会话客户端对应的默认方案名 81 select sys_context('userenv','current_schema')from dual; 82 --7、host :返回数据库所在的主机名称 83 select sys_context('userenv','host')from dual;