千家信息网

Oracle常用函数

发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,前一段时间学习Oracle 时做的学习笔记,整理了一下,下面是分享的Oracle常用函数的部分笔记,以后还会分享其他部分的笔记,请大家批评指正。1.Oracle 数据库中的to_date()函数的使用
千家信息网最后更新 2025年01月19日Oracle常用函数

前一段时间学习Oracle 时做的学习笔记,整理了一下,下面是分享的Oracle常用函数的部分笔记,以后还会分享其他部分的笔记,请大家批评指正。

1.Oracle 数据库中的to_date()函数的使用:
  往emp表中插入一条记录:

SQL> insert into emp values(1234,'LIZELU','BOSS',1234,'1980-12-06',10000.0,0,30);    insert into emp values(1234,'LIZELU','BOSS',1234,'1980-12-06',10000.0,0,30)    ORA-01861: 文字与格式字符串不匹配--日期格式不对    使用to_date()函数搞定:格式to_date('1965-02-05','yyyy-mm-dd');

2.Oracle中的字符函数:

  字符函数是Oracle中最常用的函数,
  lower(char); 把字符串转换为小写格式;
  upper(char);把字符串转换为大写格式;
  length(char);返回字符串的长度;
  substr(char,m,n);取字符串的字串;
  replace(char,search_char,replace_str);


  1.将所有员工的名字按小写的格式输出

select lower(emp.ename) from emp;

  2.显示正好为5个字符的名字;

select ename from emp where length(ename)=5;

  3.显示姓名的前三个字符;substr(char,2,3);代表从第二个取,取三个字符;

select substr(ename,1,3) from emp;

  4.显示姓名要求首字母大写,其余的小写;
    分成三部走:
    (1)把首字母大写:

  select upper(substr(emp.ename,1,1)) from emp;

    (2)把后面的字母小写:

select lower(substr(ename,2,length(ename)-1)) from emp;

    (3)把两个字符串连接起来 ||(管道符是连接作用的)

select upper(substr(emp.ename,1,1))||lower(substr(ename,2,length(ename)-1)) from emp;

  5.把名字中的A转换为a;

select replace(ename,'A','a') from emp;

3.Oracle 中的数学函数:
  1.round(n,[m]):四舍五入,省略m则四舍五入到整数位,m为小数点的位数;

select round(sal,1) from emp where ename='MILLER';

  2.trunc(n,[m]):保留小数位,m为小数位的个数

select trunc(sal,1) from emp where ename='MILLER';

  3.mod(n,m):去小数;

  4.floor(n):返回小于等于n的最大整数; ceil(n):返回大于等于n的最小整数

SQL> select floor(sal) from emp where ename='MILLER';--向下取整FLOOR(SAL)----------1300SQL> select ceil(sal) from emp where ename='MILLER';--向上取整CEIL(SAL)----------1301

其他数学函数:
abs(n):返回数字n的绝对值。 acos(n),asin(n),stan(n) 返回数字的反余弦,反正弦,反正切的值
exp(n):返回e的n次幂; log(m,n);返回对数值; power(m,n);返回m的n次幂

4.Oracle中的日期函数:
  日期函数用于处理date类型的数据:默认情况下是dd-mon-yy格式。
  (1)sysdate:该函数返回系统时间

SQL> select sysdate from dual;SYSDATE-----------2014-4-13 9

  (2)add_moths(d,n);

    显示入职8个多月的职工;

select * from emp where sysdate>add_months(emp.hiredate,8);

  (3)last_day(d);返回当前日期该月的最后一天

select last_day(emp.hiredate) from emp;

 (4)显示员入职的天数

SQL> select ename,round(sysdate-emp.hiredate) "入职天数" from emp;

  (5) 找出个月的倒数第3天入职的员工

SQL> select * from emp where (last_day(emp.hiredate)-emp.hiredate)=2;

5.Oracle中数据类型的转换
  to_char():把数据转换为字符串类型:to_char(字符串,类型);

  1.日期转换

SQL> select to_char(sysdate,'yyyy/mm/dd hh34:mi:ss') from dual;TO_CHAR(SYSDATE,'YYYY/MM/DDHH2------------------------------2014/04/13 10:13:52

  2.显示1980年入职的员工信息

SQL> select * from emp where to_char(emp.hiredate,'yyyy')=1980;EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO----- ---------- --------- ----- ----------- --------- --------- ------1234 LIZELU BOSS 1234 1980-12-6 10000.00 0.00 307369 SMITH CLERK 7902 1980-12-17 800.00 20

6.Oracle中的系统函数:sys_context();
  1) terminal 当前会话客户所对应的终端标识符

SQL> select sys_context('USERENV','terminal') from dual;SYS_CONTEXT('USERENV','TERMINA--------------------------------------------------------------------------------WEB-A93B1E61669

  2) language 语言

SQL> select sys_context('USERENV','language') from dual;SYS_CONTEXT('USERENV','LANGUAG--------------------------------------------------------------------------------SIMPLIFIED CHINESE_CHINA.ZHS16GBK


  3)db_name 当前的数据库实例名称

SQL> select sys_context('USERENV','db_name') from dual;SYS_CONTEXT('USERENV','DB_NAME--------------------------------------------------------------------------------orcl

  4)session_user 当前会话所对应的数据库

SQL> select sys_context('USERENV','session_user') from dual;SYS_CONTEXT('USERENV','SESSION--------------------------------------------------------------------------------SCOTT

  5)current_schema:查看当前方案

SQL> select sys_context('USERENV','current_schema') from dual;SYS_CONTEXT('USERENV','CURRENT--------------------------------------------------------------------------------SCOTT


字符 函数 字符串 格式 数据 日期 小写 小数 类型 名字 员工 大写 字母 数据库 笔记 常用 四舍五入 三个 天数 姓名 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 快递追踪软件开发 dns服务器求助方法 铁路一般网络安全事件 网络安全在身边二维码你扫对了吗 成都前端软件开发要多少钱 网络安全征文范文 专业网络安全审计系统费用 小学生网络安全演讲三分钟 移动软件开发计时器 软件开发周期趣图 信息与网络安全管理系统 c 数据库操作框架 宁畅服务器x640-g40 湛江金融软件开发公司 虚拟环境复制到服务器 有源代码有数据库如何还原站 龙源网数据库论文查询 网络技术促进人类道德发展论文 浙江宇视科技软件开发笔试 英雄无敌王朝如何选择服务器 自己宽带的DNS服务器 数据库中目或度是什么意思 服务器光纤直连交换机配置 网络安全展位介绍 上海软件开发选定志先科技 天津网络安全管理局官网 计算机网络技术就业前景百度 网络安全法的意义包含哪些 wps的数据库是什么软件 广电网络技术支持岗位考什么
0