八宝书库 > 文学其他电子书 > SQL 21日自学通(V3.0)(PDF格式) >

第21部分

SQL 21日自学通(V3.0)(PDF格式)-第21部分

小说: SQL 21日自学通(V3.0)(PDF格式) 字数: 每页4000字

按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!



    输入 



    SQL》UPDATE  CHARACTERS   SET  FIRSTNAME='kelly' 



         WHERE   FIRSTNAME='KELLY' 



    输出 



    1 row updated。 



    输入 



    SQL》SELECT  FIRSTNAME  FROM   CHARACTERS 



    输出 



        FIRSTNAME     FIRSTNAME 



        kelly         FESTER 



        CHUCK         ARMANDO 



        LAURA         MAJOR 



    然后  请您再输入 



    SQL》SELECT  FIRSTNAME  UPPER   FIRSTNAME   LOWER   FIRSTNAME 



         FROM  CHARACTERS 



    输出 



        FIRSTNAME    UPPER(FIRSTNAME     LOWER   FIRSTNAME 



        kelly        KELLY               kelly 



        CHUCK        CHUCK               chuck 



        LAURA        LAURA               laura 



        FESTER       FESTER              fester 



        ARMANDO      ARMANDO             armando 



        MAJOR        MAJOR               major 



    现在你明白这两个函数的作用了吧 



EMAIL wyhsillypig@163。                                          83 


…………………………………………………………Page 84……………………………………………………………

SQL 21  日自学通(V1。0)                                              翻译人    笨猪 



LPAD 与 RPAD 



    这两个函数最少需要两个参数             最多需要三个参数  每一个参数是需要处理的字符串 



第二个参数是需要将字符串扩充的宽度                 第三个参数表示加宽部分用什么字符来做填补 



第三个参数的默认值为空格             但也可以是单个的字符或字符串              下面的句子中向字段中加 



入了五个字符        该字段的定义宽度为  5 



    输入 



    SQL》SELECT LASTNAME    LPAD  LASTNAME    20   *    FROM CHARACTERS 



    输出 



         LASTNAME      LPAD  LASTNAME    20   *  ) 



         PURVIS        *****PURVIS 



         TAYLOR        *****TAYLOR 



         CHRISTINE     *****CHRISTINE 



         ADAMS         *****ADAMS 



         COSTALES      *****COSTALES 



         KONG          *****KONG 



分析 



    为什么只添加了 5 个占位字符呢            不要忘记 LASTNAME 列是 15 个字符宽  在可见字 



符的右方填充着空格以保证字符的定义宽度                   请检查一下你所用的解释器            现在再试一下 



右扩充 



输入 



SQL》 SELECT   LASTNAME    RPAD  LASTNAME    20   *   FROM   CHARACTERS 



输出 



LASTNAME                   RPAD(LASTNAME;20;'*' 



PURVIS                 PURVIS                  ***** 



TAYLOR                 TAYLOR                  ***** 



CHRISTINE              CHRISTINE            ***** 



ADAMS                    ADAMS                    ***** 



COSTALES                 COSTALES              ***** 



KONG                   KONG                      ***** 



分析 



通过这个操作我们可以清楚地看到空格也是该字段内容的一部分这一事实了                               下边的两个 



EMAIL  wyhsillypig@163。                                              84 


…………………………………………………………Page 85……………………………………………………………

SQL 21  日自学通(V1。0)                                        翻译人   笨猪 



函数正是用于这一情况的 



LTRIM 与 RTRIM 



   LTRIM 和 RTRIM 至少需要一个参数 最多允许两个参数 第一个参数与 LPAD 和 RPAD 



类似   是一个字符串      第二个参数也是一个字符或字符串  默认则是空格                 如果第二个参 



数不是空格的话  那么该函数将会像剪除空格那样剪除所指定的字符                     如下例 



输入 



SQL》 SELECT LASTNAME   RTRIM  LASTNAME   FROM   CHARACTERS 



输出 



LASTNAME    RTRIM(LASTNAME) 



PURVIS      PURVIS 



TAYLOR      TAYLOR 



CHRISTINE   CHRISTINE 



ADAMS       ADAMS 



COSTALES    COSTALES 



KONG        KONG 



你可以用下边的语句来确认字符中的空格已经被剪除了 



输入 



SQL》   SELECT LASTNAME   RPAD   RTRIM   LASTNAME     20   *   FROM 



CHARACTERS 



输出 



     LASTNAME     RPAD(RTRIM(LASTNAME) 



     PURVIS       PURVIS************** 



     TAYLOR       TAYLOR************** 



     CHRISTINE    CHRISTINE*********** 



     ADAMS        ADAMS*************** 



     COSTALES     COSTALES************ 



     KONG         KONG**************** 



输出证明的确已经进行了剪除工作            现在请再试一个 LTRIM 



输入 



SQL》SELECT  LASTNAME   LTRIM  LASTNAME   C   FROM   CHARACTERS 



输出 



EMAIL wyhsillypig@163。                                        85 


…………………………………………………………Page 86……………………………………………………………

SQL 21  日自学通(V1。0)                                        翻译人   笨猪 



     LASTNAME     LTRIM(LASTNAME; 



     PURVIS       PURVIS 



     TAYLOR       TAYLOR 



     CHRISTINE    HRISTINE 



     ADAMS        ADAMS 



     COSTALES     OSTALES 



     KONG         KONG 



注意   第三行和第五行的       已经没有了 



REPLACE 



   它的工作就如果它的名字所说的那样              该函数需要三个参数        第一个参数是需要搜索 



的字符串  第二个参数是搜索的内容  第三个参数则是需要替换成的字符串                       如果第三个 



参数省略或者是 NULL      那么将只执行搜索操作而不会替换任何内容 



输入 



SQL》 SELECT LASTNAME  REPLACE  LASTNAME    ST    REPLACEMENT FROM 



CHARACTERS 



输出 



        LASTNAME     REPLACEMENT 



        PURVIS       PURVIS 



        TAYLOR       TAYLOR 



        CHRISTINE    CHRIINE 



        ADAMS       ADAMS 



        COSTALES     COALES 



        KONG         KONG 



如果存在第三个参数        如么在每一个目标字符串中搜索到的内容将会被由第三个参数所指 



定的字符串替换  例如 



输入 



SQL》 SELECT LASTNAME   REPLACE  LASTNAME    ST    **  REPLACEMENT 



     FROM  CHARACTERS 



输出 



       LASTNAME    REPLACEMENT 



       PURVIS      PURVIS 



EMAIL wyhsillypig@163。                                        86 


…………………………………………………………Page 87……………………………………………………………

SQL 21  日自学通(V1。0)                                         翻译人   笨猪 



       TAYLOR      TAYLOR 



       CHRISTINE   CHRI**INE 



       ADAMS       ADAMS 



       COSTALES    CO**ALES 



       KONG        KONG 



如果没有第二个参数  那么只有将源字符串返回而不会执行任何操作 



输入 



SQL》 SELECT  LASTNAME   REPLACE  LASTNAME   NULL    REPLACEMENT 



     FROM   CHARACTERS 



输出 



       LASTNAME    REPLACEMENT 



       PURVIS      PURVIS 



       TAYLOR      TAYLOR 



       CHRISTINE   CHRISTINE 



       ADAMS       ADAMS 



       COSTALES    COSTALES 



       KONG        KONG 



SUBSTR 



   这个函数有三个参数         允许你将目标字符串的一部份输出  第一个参数为目标字符串 



第二个字符串是将要输出的子串的起点              第三个参数是将要输出的子串的长度 



输入 



SQL》SELECT  FIRSTNAME   SUBSTR  FIRSTNAME  2  3 FROM   CHARACTERS 



       输出 



       FIRSTNAME    SUB 



       kelly        ell 



       CHUCK        HUC 



       LAURA        AUR 



       FESTER       EST 



       ARMANDO      RMA 



       MAJOR        AJO 



如果第二个参数为负数         那么将会从源串的尾部开始向前定位至负数的绝对值的位置                     例 



如 



EMAIL wyhsillypig@163。                                          87 


…………………………………………………………Page 88……………………………………………………………

SQL 21  日自学通(V1。0)                                             翻译人   笨猪 



输入 



SQL》 SELECT  FIRSTNAME   SUBSTR  FIRSTNAME    …13 2  FROM  CHARACTERS 



输出 



      FIRSTNAME    SU 



      kelly        ll 



      CHUCK        UC 



      LAURA        UR 



      FESTER       ST 



      ARMANDO      MA 



      MAJOR        JO 



分析 



切记 FIRSTNAME 字段的宽度为 15        这也就是为什么参数为…13  时会从第三个开始的原因 



因为从 15 算起向前算第 13 个字符正好是第 3 个字符               如果没有第三个参数  将会输出字 



符串余下的部分 



输入 



SQL》 SELECT  FIRSTNAME    SUBSTR  FIRSTNAME   3  FROM   CHARACTERS 



      输出 



      FIRSTNAME    SUBSTR(FIRSTN 



      kelly        lly 



      CHUCK        UCK 



      LAURA        URA 



      FESTER       STER 



      ARMANDO      MANDO 



      MAJOR        JOR 



看   是不是将字符串余下的部分返回了 



现在再来看一个例子 



输入 



SQL》 SELECT  *  FROM   SSN_TABLE 



输出 



SSN__________ 



300541117 



301457111 



459789998 



EMAIL  wyhsillypig@163。                                            88 


…………………………………………………………Page 89……………………………………………………………

SQL 21  日自学通(V1。0)                                            翻译人    笨猪 



如果直接阅读上边的结果是比较困难的                比较好的解决办法是使用下划线  请先想一下下 



边语句的输出情况 



输入 



SQL》  SELECT  SUBSTR  SSN   1 3  ||'…'||SUBSTR SSN 4 2 ||'…'||SUBSTR SSN 



6  4 



      SSN  FROM   SSN_TABLE 



输出 



      SSN_________ 



      300…54…1117 



      301…45…7111 



      459…78…9998 



注   这在当数字特别大        例如    1  343 178  128 需要用逗号分隔时以及区位号码或电 



话号码需要下划线分隔时特别有效 



这是 SUBSTR  的另一个非常有用的功能  倘若你需要打印一个报表而其中一些列的宽度超 



过了 50  个字符时     你可以使用 SUBSTR  来减小列宽以使它更接近数据的真实宽度  请看 



一个下面的这两个例子 



输入 



SQL》 SELECT  NAME   JOB  DEPARTMENT    FROM JOB_TBL 



输出 



NAME______________________________________________________________ 



JOB_______________________________DEPARTMENT______________________ 



ALVIN  SMITH 



VICEPRESIDENT                                          MARKETING 



1 ROW SELECTED。 



分析 



    注意  这几列已经换行显示了  这例得阅读变行非常困难  现在试一下下边的 SELECT 



语句 



输入 



SQL》 SELECT SUBSTR(NAME; 1;15) NAME; SUBSTR(JOB;1;15) JOB; 



EMAIL  wyhsillypig@163。                                            89 


………………………………………………

返回目录 上一页 下一页 回到顶部 0 0

你可能喜欢的