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;

 

转载于:https://www.cnblogs.com/loveyou2011/p/3664686.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值