<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

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

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


    網站導航:
     
    主站蜘蛛池模板: 曰批全过程免费视频在线观看| 精品人妻系列无码人妻免费视频 | 日韩毛片免费在线观看| 亚洲男人的天堂在线播放| 一级毛片在线免费观看| 亚洲一区二区三区电影| 国产免费不卡视频| 亚洲Av高清一区二区三区| 毛片网站免费在线观看| 亚洲AV无码一区二区三区性色| 小小影视日本动漫观看免费| 国产精品亚洲片在线花蝴蝶 | 全部免费毛片免费播放| 窝窝影视午夜看片免费| 国产成人A亚洲精V品无码| 免费无码一区二区三区蜜桃| 色拍自拍亚洲综合图区| 毛片免费在线播放| 疯狂做受xxxx高潮视频免费| 亚洲色中文字幕无码AV| ww在线观视频免费观看| 亚洲综合一区二区三区四区五区| 日本v片免费一区二区三区| 久久久久久av无码免费看大片| 亚洲高清在线视频| 无码一区二区三区AV免费| 美女视频黄a视频全免费网站色| 中文字幕亚洲不卡在线亚瑟| 99久久国产免费-99久久国产免费 99久久国产免费中文无字幕 | 亚洲国产系列一区二区三区| 免费一级e一片在线播放| a级毛片无码免费真人久久| 亚洲综合国产精品| 日韩一品在线播放视频一品免费| 久久久久女教师免费一区| 亚洲视频在线观看网站| 国产成人aaa在线视频免费观看| 91视频免费网站| 亚洲乱理伦片在线观看中字| 亚洲一区二区三区在线观看精品中文 | 在线免费一区二区|