oracle学习笔记(三)oracle函数

 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;

 

你可能感兴趣的:(oracle学习)