判断Oracle是否安装成功
在 cmd 控制台输入命令: sqlplus 用户名/密码
解锁或重置某个用户的密码
解锁用户 alter user 用户 account unlock; 解锁或重置用户密码 alter user 用户 identified 密码;
dual:虚表,没有实际意义,仅仅为了补全语法
查询系统当前时间 select sysdate();--mysql select sysdate from dual;--oralce
字符函数
大写转小写 select lower('YES') from dual; 小写转大写 select upper('yes') from dual; 截取字符串 select substr('asdfg',3,2) from dual; 用第三个字符补全第一个字符,长度是第二个参数 select lpad('as',6,'d') from dual; 获取第二个字符串在第一个字符串中的位置 select instr('asfg','f') from dual; 去除字符串前后空格 select trim(' as '),' as ' from dual; 用第三个字符串替换第一个字符串中的第二个字符串 select replace('asdf','as','kk') from dual;
数值函数
四舍五入 select round(12.34,-1) from dual; 直接截取 select trunc(12.34,-1) from dual; 求余 select mod(12,5) from dual;
日期函数
获取明天的当前时间 select sysdate+1 from dual; 获取明年的当前时间 select sysdate+365 from dual; 获取两个日期之间相差的月份 select months_between(sysdate,e.hiredate) from emp e; 日期四舍五入 select round(sysdate) from dual;--按天统计,过了中午12点算下一天 select round(months_between(sysdate,e.hiredate)) from emp e; 日期截断 select trunc(sysdate) from dual;--按天统计 算出emp表中所有员工入职距离现在几年 select round(months_between(sysdate,e.hiredate)/12) from emp e; 算出emp表中所有员工入职距离现在几天 select round(sysdate-e.hiredate) from emp e; 算出emp表中所有员工入职距离现在几周 select round((sysdate-e.hiredate)/7) from emp e;
转换函数
字符串转数字 select to_number('111'),'111' from dual; 日期转字符串 select to_char(sysdate,'fm yyyy-mm-dd hh24:mi:ss') from dual; 字符串转日期 select to_date('2017-9-9 10:11:11','fm yyyy-mm-dd hh24:mi:ss') from dual; select to_date('2017-9-9 16:11:11','fm yyyy-mm-dd hh24:mi:ss') from dual; 月单词 select to_char(sysdate,'month') from dual; 月数字 select to_char(sysdate,'mm') from dual; 星期单词 select trim(to_char(sysdate,'day')) from dual; 日期数字 select trim(to_char(sysdate,'dd')) from dual; 星期单词简写 select trim(to_char(sysdate,'dy')) from dual; 年数字 select trim(to_char(sysdate,'yyyy')) from dual; 年单词 select trim(to_char(sysdate,'year')) from dual; 格式化数字 select to_char(123456,'L999,999.000') from dual;
通用函数
如果第一个参数为null,返回第二个参数 select nvl(null,123) from dual; 如果第一个参数为null,返回第三个参数,否则返回第二个参数 select nvl2(null,123,456) from dual; 如果两个参数一样,返回null,否则返回第一个参数 select nullif(2,2) from dual; 返回第一个不为null的值 select coalesce(null,1,null,2,null,3) from dual;
条件表达式
mysql和orale通用 select case e.ename when 'SMITH' then 'aaa' when 'ALLEN' then 'bbb' when 'WARD' then 'ccc' when 'JONES' then 'ddd' else 'asdf' end "汉语名称", e.job from emp e; Oracle独有 select decode(e.ename, 'SMITH', 'aaa', 'ALLEN', 'sss', 'WARD', 'ddd', 'JONES', 'fff', 'hh') "汉语名称", e.job from emp e;
单行函数
最新推荐文章于 2021-04-03 23:16:50 发布