zoukankan      html  css  js  c++  java
  • ORACLE SQL单行函数(一)【weber出品必属精品】

    1.SUBSTR:求父串中的子串

    SUBSTR('HelloWorld',1,5)

    1:代表子串的起始位置,如果为正,正数,如果为负,倒数

    5:代表字串的终止位置,只能向右数,可以省略,如果省略就是数到最后

    SUBSTR:求父串中的子串
     
    SUBSTR('HelloWorld',1,5)
     
    1:代表子串的起始位置,如果为正,正数,如果为负,倒数
    5:代表字串的终止位置,只能向右数,可以省略,如果省略就是数到最后
    

    2.LENGTH:求字符串的长度  

    SQL> select LENGTH('HELLOWORLD') from dual;
     
    LENGTH('HELLOWORLD')
    --------------------
              10
    

    3.INSTR:求子串在父串中的位置 

    SQL> select INSTR('HelloWorld','W') from dual;
     
    INSTR('HELLOWORLD','W')
    -----------------------
                  6

    4. LPAD和RPAD:格式化输出

    SQL> select LPAD(sal,10,'*'),rpad(sal,10,'*') from emp;
     
    LPAD(SAL,10,'*')                         RPAD(SAL,10,'*')
    ---------------------------------------- ----------------------------------------
    *******800                               800*******
    ******1600                               1600******
    ******1250                               1250******
    ******2975                               2975******
    ******1250                               1250******

    5. REPLACE:把父串中的子串用另一个子串替换

    SQL> select REPLACE('JACK and JUE','J','BL') replace from dual;
     
    REPLACE
    --------------
    BLACK and BLUE

    6. TRIM:从父串中截断前置和后置连续的某个字符串:

    SQL> select TRIM('H' from 'HHHHelloWorldHHH') from dual;
     
    TRIM('H'F
    ---------
    elloWorld

    7.两个表示字符的数据类型:

    varchar2(n):可变长度的,根据插入数据的长度,来分配长度

    char(n):固定长度的,即使插入的数据小于n,那么oracle也会分配长度为n,不够n用空格补齐

    SQL> create table t1(id number,name varchar2(10));
     
    Table created.
     
    SQL> create table t2(id number,name char(10));
     
    Table created.
     
    SQL> insert into t1 values(1,'a');
     
    1 row created.
     
    SQL> insert into t1 values(2,'b');
     
    1 row created.
     
    SQL> commit;
     
    Commit complete.
     
    SQL> insert into t2 values(1,'a');
     
    1 row created.
     
    SQL> insert into t2 values(2,'b');
     
    1 row created.
     
    SQL> insert into t2 values(3,'c');
     
    1 row created.
     
    SQL> commit;
     
    Commit complete.
     
    SQL> select * from t1;
     
            ID NAME
    ---------- ----------
             1 a
             2 b
     
    SQL> select * from t2;
     
            ID NAME
    ---------- ----------
             1 a
             2 b
             3 c
     
    SQL> select t1.id,t2.name from t1,t2 where t1.name=t2.name;
     
    no rows selected
     
    SQL> select t1.id,t2.name from t1,t2 where t1.name=trim(t2.name);---这里演示了trim()的应用场景
     
            ID NAME
    ---------- ----------
             1 a
             2 b

    8.数字函数

    ROUND:对指定的值进行四舍五入

    TRUNC:对指定的值进行截断

    select trunc(45.926,2),round(45.926,2) from dual;
     
    TRUNC(45.926,2) ROUND(45.926,2)
    --------------- ---------------
              45.92           45.93

    9.MOD:返回除法计算后的余数

    SQL> select mod(1600,300) from dual;
     
    MOD(1600,300)
    -------------
          100
     
    SQL> select mod(300,1600) from dual;
     
    MOD(300,1600)
    -------------
          300

    10.日期函数

    Oracle 以一种内部的格式来保存日期: 世纪,年,月,日,小时,分钟,秒

    缺省的格式:DD-MON-RR

    通过只指定年份的后两位,可以在20世纪存储21世纪的日期,以同样的方法,可以在21世纪存储20世纪的日期

    SYSDATE 是一个返回日期和时间的函数,他的值来源于操作系统

    SQL> select sysdate from dual;
     
    SYSDATE
    ---------
    15-AUG-14
  • 相关阅读:
    HDU 5444 Elven Postman 二叉排序树
    HDU 5438 Ponds dfs模拟
    Gym
    markdown test
    Gym
    集训回顾
    UVALive
    UVALive
    UVALive
    codeforcres 589 J
  • 原文地址:https://www.cnblogs.com/yaoweber/p/3915526.html
Copyright © 2011-2022 走看看