1、oracle中的只读事务:set transaction ready only。设置了只读事务后,该用户只能看到设置之前的数据。
2、字符函数:lower(字段名称)将字符串转化成小写、upper(字段名称)将字符串转化成大写、length(字段名称)返回字符串的长度、substr()截取字符串,例:select * from emp where length(ename)=5,select substr(ename,1,3)from emp (从第一个开始取,取三个),select upper(substr(ename,1,1))||lower(substr(ename,2,length(ename)-1)) from emp(首字母大写后面的小写);replace:select replace(ename,'S','A') from emp;把ename中的S都替换成A。
3、数字函数:round() 四舍五入:select round(sal,1),sal from emp ,“1”代表四舍五入到第几位,没有就是得到整数位。
trunc() 截取数字:select trunc(sal,1),sal from emp,"1"代表截取掉一位小数点后所有,没有就是截取到整数位,如果是—1的话就是截取个位数都变成0。
mod() 取模:select mod(10,3) from dual;结果是1。
floor(n) 返回小于或等于n的最大整数: (55.6——55)。
ceil(n) 返回大于或等于n的最小整数:(55.6——56)。
4、日期函数:sysdate:系统时间
add_months(d,n):select * from emp where sysdate>add_months(hiredate,8) 八个月前入职的员工;
select trunc(sysdate-hiredate) "入职天数" where emp;
last_day(d): 返回指定日期所在月份的最后一天。
5、转换函数:to_char(): select ename,to_char(hiredate,'yyyy-mm-dd hh24:mi:ss'),to_char(sal,'L99.999.99') from emp; sal的类型是rummber(7,2)。
6、decode():现定义一table名为output,其中定义两个column分别为monthid(var型)和sale(number型),若sale值=1000时翻译为D,=2000时翻译为C=3000 时翻译为B,=4000时翻译为A,如是其他值则翻译为Other;
SQL如下:Select monthid , decode (sale,1000,'D',2000,'C',3000,'B',4000,'A',’Other’) sale from output
7、 NVL(EXPR1,EXPR2)
若EXPR1是NULL,则返回EXPR2,否则返回EXPR1.
sign()函数根据某个值是0、正数还是负数,分别返回0、1、-1,