友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!阅读过程发现任何错误请告诉我们,谢谢!! 报告错误
一世书城 返回本书目录 我的书架 我的书签 TXT全本下载 进入书吧 加入书签

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

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





输入 



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 


…………………………………………………………Page 90……………………………………………………………

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



                        DEPARTMENT 



    2    FROM  JOB_TBL; 



输出 



NAME________________JOB_______________DEPARTMENT_____ 



ALVIN  SMITH                  VICEPRESIDENT          MARKETING 



是不是变得好多了 



TRANSLATE 



    这一函数有三个参数          目标字符串  源字符串和目的字符串              在目标字符串与源字符 



串中均出现的字符将会被替换成对应的目的字符串的字符 



输入 



SQL》 SELECT FIRSTNAME; TRANSLATE(FIRSTNAME 



      '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 



      'NNNNNNNNNNAAAAAAAAAAAAAAAAAAAAAAAAAA)                        FROM 



CHARACTERS 



      输出 



      FIRSTNAME      TRANSLATE(FIRST 



      kelly          kelly 



      CHUCK          AAAAA 



      LAURA          AAAAA 



      FESTER         AAAAAA 



      ARMANDO        AAAAAAA 



      MAJOR          AAAAA 



      6 rows selected。 



注意    这个函数对大小写是敏感的 



INSTR 



    如果需要知道在一个字符串中满足特定的内容的位置可以使用 INSTR                         它的第一个参 



数是目标字符串        第二个参数是匹配的内容           第三和第四个参数是数字            用以指定开始搜 



EMAIL  wyhsillypig@163。                                             90 


…………………………………………………………Page 91……………………………………………………………

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



索的起点以及指出第几个满足条件的将会被返回                 下例将从字符串的第二个字符开始             搜 



索并返回第一个以 O 开头的字符的位置 



输入 



SQL》SELECT LASTNAME   INSTR  LASTNAME    O   2 1  FROM  CHARACTERS 



输出 



       LASTNAME      INSTR(LASTNAME;'O';2;1) 



       PURVIS        0 



       TAYLOR        5 



       CHRISTINE     0 



       ADAMS         0 



       COSTALES      2 



       KONG          2 



       6 rows selected 



分析 



默认第三个与第四个参数的数值均为               如果第三个数值为负数  那么将会从后向前搜索 



LENGTH 



LENGTH 将返回指定字符串的长度          例如 



输入 



SQL》SELECT FIRSTNAME  LENGTH   RTRIM  FIRSTNAME   FROM CHARACTERS 



输出 



       FIRSTNAME    LENGTH(RTRIM(FIRSTNAME)) 



       kelly        5 



       CHUCK        5 



       LAURA        5 



       FESTER       6 



       ARMANDO      7 



       MAJOR        5 



注意   这里使用了函数 RTRIM       否则 LENGTH 将全部返回 15 



转换函数 



   转换函数有三个       可以使你方便地将数据从一种类型变换为另一种类型                   本节的示例 



EMAIL wyhsillypig@163。                                         91 


…………………………………………………………Page 92……………………………………………………………

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



使用表 CONVERSIONS 



输入 



SQL》 SELECT  *  FROM  CONVERSIONS 



     输出 



     NAME     TESTNUM 



     40       95 



      13      23 



      74      68 



NAME 列为字符串  该列的宽度为 15          TESTNUM 列为数字 



TO_CHAR 



该函数的最初功能是将一个数字转换为字符型  不同的解释器可能会使用它来转换其它的 



数据类型     例如日期型转换为字符型或者是拥有更多的参数                  下例展示了该函数的基本功 



能 



输入 



SQL》 SELECT  TESTNUM   TO_CHAR   TESTNUM   FROM   CONVERT 



     输出 



     TESTNUM     TO_CHAR(TESTNUM) 



      95         95 



     23          23 



      68         68 



稍安勿燥     下例可以证明它确实已经将 TESTNUM 转换为字符型了 



输入 



SQL》SELECT   TESTNUM   LENGTH  TO_CHAR   TESTNUM    FROM   CONVERT 



输出 



TESTNUM     LENGTH(TO_CHAR(TESTNUM)) 



95          2 



23          2 



68          2 



分析 



如果对数字使用 LENGTH 函数将会返回错误  注意 TO_CHAR 与在先前进过的 CHR 不同 



EMAIL wyhsillypig@163。                                           92 


…………………………………………………………Page 93……………………………………………………………

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



CHR 返回字符集中给定数字位置的一个字符或符号 



TO_NUMBER 



该函数与 TO_CHAR   函数相对应  显而易见  它是将一个字符串型数字转换为数值型               例 



如 



输入 



SQL》 SELECT NAME TESTNUM TESTNUM*TO_NUMBER NAME  FROM CONVERT 



输出 



NAME    TESTNUM   TESTNUM*TO_NUMBER(NAME) 



40      95        3800 



13      23        299 



74      68        5032 



分析 



   如果该函数没有将 NAME 转换为数值的话将会返回一个错误信息 



其它函数 



   这里有三个函数可能对你是有用处的 



GREATEST 与 LEAST 



   这两个函数将返回几个表达式中最大的和最小的  例如 



输入 



SQL》 SELECT GREATEST  ALPHA   BRAVO   FOXTROT    DELTA 



     FROM  CONVERT 



输出 



     GREATEST 



     FOXTROT 



     FOXTROT 



     FOXTROT 



分析 



   注意 GREATEST 将会返回在字母表中最靠后的字符开头的字符串             虽然看起来似乎没 



EMAIL wyhsillypig@163。                                    93 


…………………………………………………………Page 94……………………………………………………………

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



有必要使用 FROM     子句   可是如果 FROM    子句没有的话     你将会收到一个错误信息  每 



一个 SELECT 语句都需要 FROM 子句      由于给定的表有三行  所以结果返回了三个 



输入 



SQL》 SELECT LEAST  34 567  3 45 1090 FROM   CONVERT 



输出 



     LEAST(34 567 3  45 1090) 



     3 



     3 



     3 



就像你看到的那样  这两个函数也可以对数字进行处理 



USER 



   该函数返回当前使用数据库的用户的名字 



输入 



SQL》 SELECT USER  FROM  CONVERT 



输出 



     USER 



     PERKINS 



     PERKINS 



     PERKINS 



   只有我一个人在使用这个数据库  看  
返回目录 上一页 下一页 回到顶部 0 0
未阅读完?加入书签已便下次继续阅读!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!