Oracle 学习笔记6

来源:互联网 发布:淘宝开店装修流程 编辑:程序博客网 时间:2024/06/04 18:38
   13 sql函数的使用
字符函数:
lower(char):将字符装化为小写格式;
upper(char):将字符装化为大写格式;
length(char):用于计算字符的长度;
substr(char,m,n):求字符串中的子字符串,表示从一个字符串的第m个字符开始截取一个长度为n的字符串。
如何将emp表中的每一个员工的名字转化为小写和大写:
SQL>select lower(ename) from emp;
SQL>select upper(ename) from emp;
如何找出emp表中那个员工的姓名的字符串长度为5的员工:
SQL>select * from emp where length(ename =5);
对于substr(char,m,n)在emp表中应用的举例:
SQL>select substr(ename,1,3)from emp;
eg:如何用首字母大写的方式显示所有员工的姓名:
1 完成首字母的大写:
SQL>select upper (substr(ename,1,1)) from emp;
2 完成后面的字母小写:
SQL>select lower (substr(ename,2,length(ename)-1)) from emp;
3 合并:
SQL>select upper(substr(ename,1,1))|| lower(substr(ename,2,length(ename)-1)) from emp;
数字函数:
cos,sin,exp,ln,log,sqrt
round(n,[m])四舍五入
trunc(n,[m])截取字符串
mod(m,n)取余
floor(n) 返回小于等于的正整数
ceil(n) 返回大于等于的正整数
如何利用round(n,[m])计算emp表员工的工资。
SQL>select (round(sal) +round(comm))*13 from emp;
利用round(n,[m])计算SMITH的工资,保留一位小数:
SQL>select round(sal,1)from emp where ename='SMITH';
trunc(n,[m])的应用:
SQL>select trunc(comm,1),comm from emp where ename = 'SMITH';
floor(n)函数的应用;
SQL>select floor(comm),comm from emp where ename ='SMITH';
ceil(n)的应用;
SQL>select ceil(comm),comm from  emp where ename ='SMITH';
mod(m,n)函数的应用;
SQL>select mod(10,2) from dual;
dual是虚拟表,用于做测试。
eg:显示一个月(30)的情况下所有员工的日薪金,忽略余数;
SQL>select trunc(sal/30),ename from emp ;
SQL>select floor (sal/30),ename from emp;


                   14  sql函数的使用(2)

date类型:格式为dd_mon_yy
a:system返回系统时间,
b:add_months(d,n);
c:last_day(d):返回指定日期的最后一天;
如何显示系统时间:
SQL>select sysdate from dual;
如何查询入职时间为8个月的员工:
SQL>select * from emp where sysdate > add_months(hiredate,8);
eg:显示满10年员工的姓名和雇用日期:
SQL>select * from emp where sysdate >= add_months(hiredate,12*10);
eg:如何显示每个月倒数第三天受雇的员工:
SQL>select hireday,last_day (hireday) from emp;
SQL>select hireday,ename from  emp where last_day(hireday) -2=hireday;
转换函数:
用于将数据类型从一种转换为另一种 。to_char
eg,用to_char函数显示时/分/秒/:
SQL>select ename,to_char(hireday,'yyyy_mm_dd  hh24:mi:ss') from emp;
如何显示1980年入职的所有员工:
SQL>select * from emp where to_char(hireday,'yyyy')=1980;
系统函数:
terminal:当前会话客户所对应的终端标符:
host:返回数据库所在的主机名称。
SQL>select sys_cntext('userenv','db_name') from dual;


原创粉丝点击