<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Open-Source World

    let's learn and study.
    posts - 28, comments - 23, trackbacks - 0, articles - 1
    一.------------------------->01

        set linesize 500
        set pagesize 100

        run或 r 或 (符號)/ ------------>都表示 把上一個命令重新執行一次.


    alter session set NLS_date_format='YYYY-MM-DD'; 修改用戶的會話來修改日期格式
    默認的日期格式是:'DD-MON-YY'
     
    SQL> insert into scott.emp(empno,ename,sal)    values(&employeeid,'&name',&employeesal);
    輸入 employeeid 的值:  9001
    輸入 name 的值:  jiake02
    輸入 employeesal 的值:  4000
    原值    2: values(&employeeid,'&name',&employeesal)
    新值    2: values(9001,'jiake02',4000)
    這個命令可以多次使用,如按符號 / 然后回車,可以反復的輸入值.

    insert語句中使用子查詢;例如 insert into managers(id,name,salary,hiredate)
                                        select empno,ename,sa,hiredate
                                        from emp
                                        where job='manager';


    二------------------>02

    1.Oracle每個SQL語句都是一個事務,當用commit或rollback 來結束事務

    2.savepoint update_dept;設置保存點;

    可以用rollback  to update_dept;方式,解決分步處理或者有選擇的執行;


    Orcale連接兩個字符串用兩個||,而SQL用&

    %代表多個任意字符,_代表一個任意字符

    IS NULL 是判斷是否為空

    三.lesson--------------------->03

    SQL函數:
    單行函數:---->General/Character/Number/Date/Conversion
    1.字符函數
        轉換函數---->LOWER select lower(ename) from scott.emp;
                                /UPPER  select * from scott.emp where ename=upper('king');
                                /INTCAP 首字母大寫,其余為小寫
                                SQL> select initcap(ename) from scott.emp;

                                                INITCAP(EN
                                                    ----------
                                                  Smith

        字符操縱函數------>CONCAT
                    select empno,concat(ename,job) from scott.emp;<=>select ename||job from scott.emp;

                     EMPNO CONCAT(ENAME,JOB)
                    ------ -------------------
                      7369 SMITHCLERK
                      7499 ALLENSALESMAN
                  /LENGTH
                   1.select empno,ename,length(ename) from scott.emp;

                     EMPNO ENAME      LENGTH(ENAME)
                    ------ ---------- -------------
                      7369 SMITH                  5
                  
                   2.select length('同學們') from dual;

                     LENGTH('同學們')
                    -------------
                                3
                  
                  /SUBSTR
                   select empno,ename,substr(ename,1,4) from scott.emp;

                     EMPNO ENAME      SUBSTR(E
                    ------ ---------- --------
                      7369 SMITH      SMIT
                      7499 ALLEN      ALLE

                  /INSTR 返回位置值
                   SQL> select ename,instr(ename,'S') from scott.emp;

                    ENAME      INSTR(ENAME,'S')
                    ---------- ----------------
                    SMITH                     1
                    ALLEN                     0
                    WARD                      0
                    JONES                     5

                  /LPAD 把字符串按某種模式顯示
                   SQL> select ename,lpad(ename,10,'*') from scott.emp;

                    ENAME      LPAD(ENAME,10,'*')
                    ---------- --------------------
                    SMITH      *****SMITH
                    ALLEN      *****ALLEN
                    WARD       ******WARD
                    JONES      *****JONES

    數值函數:ROUND  
            SELECT ROUND(45.923,2),ROUND(45.923,0),ROUND(45.923,-1)
                FROM DUAL;
            結果:
            按順序是:45.92   46    50
         /TRUNC
            SELECT TRUNC(45.923,2),TRUNC(45.923,0),TRUNC(45.923,-1)
                FROM DUAL;
            結果:
            按順序是:45.92   45    40
         /MOD   

    日期函數:
        MONTHS_BETWEEN:返回兩個日期之間月份的差值
                MONTHS_BETWEEN('01-EP-95','11-JAN-94')
                    ===>19.6774194
                
        ADD_MONTHS:在日期上加上份數.
               ADD_MONTHS('11-JAN-94',6)
                    ===>'11-JUL-94'

        NEXT_DAY:指定日期的后一天.
             NEXT_DAY('01-SEP-95','FRIDAY')
                    ===>'08-SEP-95'

        LAST_DAY:月份中最后一天.
             LAST_DAY('01-SEP-95)
                    ===>'30-SEP-95'

        ROUND:四舍五入日期
              ROUND('25-JUL-95','MONTH')    ===>01-AUG-95
              ROUND('25-JUL-95','YEAR')        ===>01-JAN-96

        TRUNC:截斷日期
              TRUNC('25-JUL-95','MONTH')    ===>01-JUL-95
              TRUNC('25-JUL-95','YEAR')        ===>01-JAN-95

    日期函數:
        YYYY----代表完整的年份
        YEAR----年份
        MM------兩位數月份
        MONTH---月份的完整名稱
        DY------每星期中天的三個字符
        DAY-----天的完整名稱
    1.to_char函數
    SQL> select ename,hiredate,to_char(hiredate,'YYYY-MM-DD') from scott.emp;

        ENAME      HIREDATE   TO_CHAR(HI
        ---------- ---------- ----------
        SMITH      17-12月-80 1980-12-17
        ALLEN      20-2月 -81 1981-02-20
        WARD       22-2月 -81 1981-02-22

    2.to_date函數
     1  insert into scott.emp(empno,ename,hiredate)
     2* values(9004,'dtConvert',to_date('1982-05-04','YYYY-MM-DD'))

         EMPNO ENAME      JOB              MGR HIREDATE          SAL       COMM    
        ------ ---------- --------- ---------- ---------- ---------- ---------- --
          9004 dtConvert                       04-5月 -82

    3.NVL函數:將NULL值轉換成一個實際的值(date,character和number類型可以使用)
        eg:NVl(comm,0) 或NVL(hiredate,'01-JAN-97')或NVL(job,'No Job Yet')

    4.DECODE 函數:功能類似 CASE or IF-THEN-ELSE 語句,但更容易.語法:DECODE(col/expression,search1,result1
                                                [,search2,result2,......,]
                                                [,default] )

          1  select job,sal,
          2              DECODE(job,'ANALYST',SAL*1.1,
          3                    'CLERK',SAL*1.15,
          4                    'MANAGER',SAL*1.20,
          5                              SAL)
          6         REVISER_SALARY
          7* FROM scott.emp

        JOB              SAL REVISER_SALARY
        --------- ---------- --------------
        CLERK            800            920
        SALESMAN        1600           1600
        SALESMAN        1250           1250
        MANAGER         2975           3570
        SALESMAN        1250           1250
        MANAGER         2850           3420
        MANAGER         2450           2940
        ANALYST         3000           3300
        PRESIDENT       5000           5000
        SALESMAN        1500           1500
        CLERK           1100           1265
        CLERK            950         1092.5
        ANALYST         3000           3300
        CLERK           1300           1495

    5.命令:
        save:把sqlplus中的命令,保存在硬盤中.例如:
            SQL> save 'D:\selectEmp.txt'
            已創建文件 D:\selectEmp.txt

        get:把命令從硬盤中加載到sqlplus環境中. 然后 鍵入 run或r或/ 執行.例如:
        SQL> get 'D:\selectEmp.txt'
          1* select * from scott.emp
        SQL> r
          1* select * from scott.emp

             EMPNO ENAME      JOB              MGR HIREDATE          SAL       COMM     DEPTNO
        ---------- ---------- --------- ---------- ---------- ---------- ---------- ----------
              7369 SMITH      CLERK           7902 17-12月-80        800                    20
              7499 ALLEN      SALESMAN        7698 20-2月 -81       1600        300         30
              7521 WARD       SALESMAN        7698 22-2月 -81       1250        500         30
              7566 JONES      MANAGER         7839 02-4月 -81       2975                    20
              7654 MARTIN     SALESMAN        7698 28-9月 -81       1250       1400         30

        @:把命令從硬盤中加載到sqlplus環境中 并自動執行.例如:
         SQL> @ D:\selectEmp.txt

             EMPNO ENAME      JOB              MGR HIREDATE          SAL       COMM     DEPTNO
        ---------- ---------- --------- ---------- ---------- ---------- ---------- ----------
              7369 SMITH      CLERK           7902 17-12月-80          800                    20
              7499 ALLEN      SALESMAN        7698 20-2月 -81       1600        300         30
              7521 WARD       SALESMAN        7698 22-2月 -81       1250        500         30
              7566 JONES      MANAGER         7839 02-4月 -81       2975                    20
              7654 MARTIN     SALESMAN        7698 28-9月 -81       1250       1400         30

    有問題的地方請指正!!
    謝謝!!

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 人妻免费久久久久久久了| 亚洲理论在线观看| 日本永久免费a∨在线视频| 18禁超污无遮挡无码免费网站国产| 日韩亚洲Av人人夜夜澡人人爽| 久久午夜伦鲁片免费无码| 亚洲综合在线成人一区| 国产免费一区二区三区| 亚洲不卡在线观看| 午夜成年女人毛片免费观看| 亚洲人成网站色7799| 国产免费拔擦拔擦8x| 成年大片免费高清在线看黄| 亚洲毛片不卡av在线播放一区| www一区二区www免费| 久久亚洲精品成人av无码网站| 曰批全过程免费视频网址| 亚洲男人天堂2018av| 国产精品国产午夜免费福利看| 国产美女视频免费观看的网站| 久久久青草青青亚洲国产免观 | 亚洲综合精品成人| 在线观看国产情趣免费视频| 特级毛片免费播放| 亚洲高清国产AV拍精品青青草原 | 大陆一级毛片免费视频观看 | 日本亚洲免费无线码| 无码国模国产在线观看免费| 一区二区三区免费视频观看| 亚洲国产人成网站在线电影动漫 | 性生大片视频免费观看一级| 久久被窝电影亚洲爽爽爽| 波多野结衣在线免费视频| 国产亚洲精品仙踪林在线播放| 国产AV无码专区亚洲精品| www.999精品视频观看免费| 日韩精品无码永久免费网站| 亚洲韩国—中文字幕| 国产精品另类激情久久久免费 | 亚洲黄片手机免费观看| 91嫩草私人成人亚洲影院|