zoukankan      html  css  js  c++  java
  • oracle数据库中的单行函数

    在数据库里为了方便用户的开发,往往会提供有一系列的支持函数,利用这些函数可以针对于数据进行处理。
    一、字符串函数
           字符串函数可以针对字符串处理,有如下几种:UPPER()、LOWER()‘、INITCAP()、REPLACE()、LENGTH()、SUBSTR()。
        1、大小写转换函数
               1、转大写函数:字符串UPPER(列|字符串)
               2、转小写函数:字符串LOWER(列|字符串)
     
      范例:将emp表中的雇员名字全部变成小写(大写)
                SELECT  LOWER(ename) FROM EMP;     --转小写
                 SELECT  UPPER(ename) FROM EMP;      --转大写
        2、首字母大写函数
             语法:INITCAP(列| 字符串)
             范例:将emp表中的雇员的姓名首字母大写:
             SELECT INITCAP(ename) FROM emp;
        3、计算字符串的长度
              范例:查询出每个雇员姓名以及雇员姓名的长度
               SELECT ename ,length(ename) from emp;
        4、字符串替换
            语法为:字符串REPLACE(列|数据,要查找的内容,新的内容)
             范例:将所有雇员姓名之中的字母A替换为“_”
            SELECT REPLACE(ename, UPPER('a'),'_') FROM emp;
     
            范例:利用replace()函数消除字符串中的空格数据
            SELECT REPLACE('hello world nihao zaijian', ' ','')
            FROM dual;   --dual为虚拟表
        5、字符串的截取
          语法一:字符串SUBSTR(列|数据,开始点),从指定的开始点一直截取到结尾;
          语法二:字符串SUBSTR(列|数据,开始点,长度):截取指定范围的子字符串。
           注意:SUBSTR()函数位数的计算是从1开始的,(下标是以1开始的)
     
            范例:从指定位置截取到结尾
            SELECT SUBSTR('helloworldnihao',11) FROM dual; ---从第十一位开始一直截 取到最后
     
            范例:截取指定范围的部分数据
            SELECT SUBSTR('helloworldnihao',6,5)
            FROM dual;    ---从第六位开始截取,总共截取5位
     
    二、数值函数
            数值函数就是针对数字进行处理的:ROUND(),TRUNC(),MOD()。
            1、四舍五入函数
                语法:ROUND (列 |数字 ,【保留小数位】)
                注意:如果不设置保留小数位,则表明不保留小数,取整
             范例:
               SELECT ROUND (2.33333 ,2), ROUND(2.33333) ,ROUND(2.777,2)FROM dual;
                //答案:2.33  ,2  ,2.78
     
            2、截取小数,所有的小数都不四舍五入
                语法:数字 TRUNC(列|数字,[小数位])。
                范例:
                SELECT  TRUNC(2.3333,2), TRUNC(2.77777,2)  FROM dual;
                 //答案:2.33   ,2.77
            3、求模(求余数)
                语法:MOD(列1|数字1,列2|数字2)
                范例:SELECT MOD (10,3) FROM dual;----求10/3的余数
        三、日期函数
               1、 获取系统时间:
                SELECT  sysdate FROM dual;----输出当前时间的年月日
                SELECT systimestamp FROM dual ; ---输出当前时间包括时分秒
                2、时间的计算:
                日期 + 数字 = 日期(若干天之后的日期)
                日期 - 数字 = 日期(若干天之前的日期)
                日期 - 日期 = 数字 (两个日期间的天数)
     
                范例:计算若干天之后的日期
                SELECT SYSDATE+30 FROM dual;   ----当前日期向后推后30天的日期
     
                3、计算两个日期间的月数,不用天数来显示,增强可读性
                语法:MONTH_BETWEEN(日期1,日期2)
     
                范例: 计算每一位雇员到今天位置的雇佣总月数。
                SELECT ename, hiredate, MONTHS_BETWEEN(SYSDATE,hiredate)
                 FROM emp;
     
                4、增加若干月之后的日期
                    语法:ADD_MONTHS(日期,月数)
                    范例:从当前日期向后推后四个月的日期
                    SELECT ADD_MONTHS(SYSDATE,4) FROM dual;
     
                5、计算指定的日期所在的月份的最后一天
                    语法: LAST_DAY(日期)
                    范例:计算当前时间的这个月的最后一天
                    SELECT LAST_DAY(SYSDATE) FROM dual;
     
                6、 计算指定日期的下个星期中的任意一天的日期
                       语法:next_day (日期,星期(一、二、三.....日))
                      范例:计算下一个星期二的具体日期
                       SELECT NEXT_DAY(SYSDATE, '星期二') FROM dual;  
       四、转换函数
            所以所谓的转换函数是实现字符串与日期、数字的转换。
    转换函数一共提供三种:TO_CHAR()、TO_DATE()、TO_NUMBER().
     
    1.转换字符串函数,数字或者是日期可以转换为字符串。
    语法:TO_CHAR(列|日期|数字,转换格式)
    对于转换格式而言主要有两类格式:
    -日期转换为字符串:年(yyyy)、月(mm)、日(dd)、时(hh、hh24)、分(mi)、秒(ss);
    -数字转换为字符串:任意的一位数字(9)、货币(L,本地货币)。
     
    范例:格式化输出日期
    SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD hh24:mi:ss') FROM dual;
    范例:实现数字的转换,增加可读性
    SELECT TO_CHAR(456159784, 'L999,999,999') FROM dual;
     
    注意:以上的转换操作将日期数据最终转换为了字符串,这种转换实际上破坏了程序的一致性。
    但是TO_CHAR()函数也有好处:他可以实现年、月、日的拆分。
    范例:查询出每个雇员的编号、姓名、雇佣年份
    SELECT empno, ename, TO_CHAR(hiredate, 'yyyy') year FROM emp;
    范例:查询出所有在2月雇佣的雇员信息

    SELECT * FROM emp WHERE TO_CHAR(hiredate, 'mm')='02';
     
    2、转换日期函数
        语法:TO_DATE(字符串,转换格式)
         转换格式:年(yyyy)、月(mm)、日(dd)、时(hh、hh24)、分(mi)、秒(ss);
     
    范例:实现字符串转换为日期
        SELECT TO_DATE('1998-09-19' , 'yyyy-mm-dd') FROM dual;
     
    3、转数字函数
       将由数字构成的字符转换为数字
      语法:TO_NUMBER(字符)
        范例:SELECT TO_NUMBER('1') + TO_NUMBER('2') FROM dual;
     
    五、通用函数
        1、空(null)处理函数:    NVL     
    原因:因为在进行计算的时候,null与任何数据进行计算,结果都为空,这样不符合我们的数据处理原则,因此我们应该在发现需要计算的数据为null的时候,将其用0来代替。
    语法:NVL(列|null,替代的值)。如果现在列上的内容为null则使用默认值来代替(一般用0来代替)。
    范例:comm存在空,将这列为空的数据用0来代替
    SELECT empno, ename,job,sal,NVL(comm,0),(sal+NVL(comm,0))*12 income FROM emp;
     
     
         
     
            
     
     
     
                
     
     
     
     
     
     
     
  • 相关阅读:
    利用百度搜集子域名--爬虫技巧
    IoC模式
    SpringMVC @RequestBody接收Json对象字符串
    用eclipse创建动态web项目手动生成web.xml方法
    1.Java Spring MVC入门 安装
    获取所有注解
    带参数的方法获取注解
    利用反射调用注解
    java枚举类型
    java创建多线程
  • 原文地址:https://www.cnblogs.com/Etude/p/9275245.html
Copyright © 2011-2022 走看看