当前位置:  数据库>oracle

Oracle单行函数详解

    来源: 互联网  发布时间:2017-04-23

    本文导语: 一  介绍  1.函数分为单行函数和多行函数  2.单行函数分为:字符、数值、日期、转换、通用的函数  3.单行函数:     操作数据对象     接受参数返回一个结果     只对一行进行变换     每行返回一个结果  ...

一  介绍 
1.函数分为单行函数和多行函数 
2.单行函数分为:字符、数值、日期转换、通用的函数 
3.单行函数: 
   操作数据对象 
   接受参数返回一个结果 
   只对一行进行变换 
   每行返回一个结果 
   可以转换数据类型 
   可以嵌套 
   参数可以是一列或一个值 
二  详解: 
1.  字符函数分为  
(1) 大小写控制函数 
小写转换 : SQL> select lower('LAOWANG') from dual; 
SQL> select * from emp where lower(ename)='smith'; 
大写转换: SQL> select upper('laowng') from dual; 
只转换第一个字符为大写: 
SQL> select initcap('laoWANG') from dual; 
(2) 字符控制函数 
连接字符串:SQL> select concat('hi','laowang') from dual; 
截取字符串:SQL> select substr('laowang',0,1) from dual; 结果 l 
SQL> select substr('laowang',0,2) from dual; 结果 la 
SQL> select substr('laowang',1,2) from dual;结果la 
可以看出截取字符串的时候是从索引为1开始的 
        字符串的长度:SQL> select length('laowang') from dual;  结果为6 
        获取指定字符的索引:SQL> select instr('laowang','a') from dual;  
                            结果为2 
        从左边截取10个字符:SQL> select lpad('laowang',10) from dual; 
                                结果 laowang 
              没有的用*代替:SQL> select lpad('laoang',20,'*') from dual; 
                                结果:**************laowang 
        从右边截取:SQL> select rpad('laoang',20,'*') from dual; 
        去空格:SQL> select trim('laowang   ') from dual; 
                    注:取出的是’’中字符前后的字符,去不掉两个字符之间的的空格 
        查询某字符中包含某字符: 
                SQL> select * from emp where instr(ename,'R')!=0;或 
                SQL> select * from emp where instr(ename,'R') <>0; 
                SQL> select * from emp where instr(ename,'R')=4; 
R在索引为4的ename 
2.数值函数 
截取.后两位四舍五入:SQL> select round(234324.354,2) from dual;   
结果为234324.35 
          截取.后两位,不截取:SQL> select mod(1700,200) from dual; 
                                结果为:100 
                                SQL> select mod(1701.5,200) from dual; 
                                结果为:101.5 
3.日期函数 
日期的差值: 
SQL> select to_date('08-8月-08')-to_date('13-3月-12') from dual;  结果为:-1313天数 
SQL> select (to_date('08-8月-08')-to_date('13-3月-12'))/365 from dual;   结果:-3.5972603 
两个日期相差的月数: 
SQL> select months_between(sysdate,hiredate) from emp;      
            向指定日期中加入若干月数: 
                SQL> select add_months(sysdate,3) from dual; 
            指定日期的下一个日期: 
SQL> select next_day(sysdate,'星期一') from dual; 
本月的最后一天:SQL> select last_day(sysdate) from dual; 
            日期四舍五入:SQL> select round(sysdate,'yyyy') from dual; 
                            SQL> select round  
(to_date('1998-10-08','yyyy-mm-dd'),'yyyy') from dual; 
            日期截断:SQL> select trunc(sysdate,'YEAR') from dual; 
4.转换函数 
数据类型转换分为隐形的和显性的,我们对显型转换来介绍 
转换函数对日期的转换: 
首先显示出当前日期:SQL> select  to_char(sysdate) from dual; 
SQL> select  to_char(sysdate,'YYYY-MM-DD') from dual; 
结果为:2012-03-13 
            SQL> select  to_char(sysdate,'YYYY-MM-DD-day') from dual; 
                    结果为:2012-03-13-星期二   
            SQL> select  to_char(sysdate,'YYYY/MM/DD-day') from dual; 
                    结果为:2012/03/13-星期二   
SQL> select  to_char(sysdate,'YYYY"年"MM"月"DD"日"-day') from dual;         结果为:2012年03月13日-星期二 
 
SQL> select  to_char(sysdate,'year"年"mon-DD-day') from dual;   结果为:twenty twelve年3月 -13-星期二      
 
SQL> select  to_char(sysdate,'yyyy-mm-dd HH24:MI:SS AM')  
from dual;   结果为:2012-03-13 10:30:39 上午  
 
SQL> select  to_char(sysdate,'DD "of" MONTH') from dual; 
                结果:13 of 3月 
 
转换函数对数字的转换: 
            SQL> select to_char(sal,'$99,999.00') from emp; 
                        结果为: $800.00   美元符 
            SQL> select to_char(sal,'L99,999.00') from emp; 
                        结果为:¥800.00    本地的 
 
            字符串转换为数字:SQL> select to_number('999.00') from dual; 
                        结果为:999 

























































































    
 
 

您可能感兴趣的文章:

  • Oracle 数据库(oracle Database)性能调优技术详解
  • oracle中lpad函数的用法详解
  • oracle修改scott密码与解锁的方法详解
  • 求.bash_profile配置oracle详解
  • Oracle数据库中分区功能详解
  • oracle指定排序的方法详解
  • 详解如何应用改变跟踪技术加速Oracle递增备份
  • oracle合并列的函数wm_concat的使用详解
  • oracle select执行顺序的详解
  • 使用Oracle数据挖掘API方法详解[图文]
  • Oracle多表级联更新详解
  • 安装Linux与Oracle数据库步骤详解
  • oracle求同比,环比函数(LAG与LEAD)的详解
  • 详解Linux平台下的Oracle数据库编程
  • oracle中去掉回车换行空格的方法详解
  • Oracle中job的使用详解
  • [Oracle] Data Guard 之 Redo传输详解
  • oracle用户权限管理使用详解
  • 深入ORACLE变量的定义与使用的详解
  • 详解Oracle的几种分页查询语句
  • oracle SQL递归的使用详解
  • Oracle 系统变量函数介绍
  • trim iis7站长之家
  • Oracle中decode函数的用法
  • Oracle round()函数与trunc()函数区别介绍
  • MySQL实现类似Oracle中的decode()函数的功能
  • Oracle函数substr(str1, pos, [len])
  • Oracle 函数大全[字符串函数,数学函数,日期函数]第1/4页
  • SQL中Charindex和Oracle中对应的函数Instr对比
  • apache通过php的oci函数读取Oracle(字符集ZHS16GBK)时,显示乱码,如何解决?
  • Oracle Max函数使用中出现的问题
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍
  • SCO unix下安装oracle,但没有光盘,请大家推荐一个oracle下载站点(unix版本的)。谢谢!!!!
  • oracle中如何把表中具有相同值列的多行数据合并成一行
  • 请问大家用oracle数据库, 用import oracle.*;下的东西么? 还是用标准库?
  • ORACLE日期相关操作
  • Linux /$ORACLE_HOME $ORACLE_HOME
  • ORACLE数据库常用字段数据类型介绍
  • Linux系统下Oracle的启动与Oracle监听的启动
  • Oracle 12c的九大最新技术特性介绍
  • 请问在solaris下安装ORACLE,用root用户和用oracle用户安装有什么区别么?
  • ORACLE中DBMS_RANDOM随机数生成包
  • 网间Oracle的连接,远程连接Oracle服务器??


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,