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

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

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






输入 



SQL》SELECT     A   LN(A)   FROM    NUMBERS 



EMAIL   wyhsillypig@163。                                                       77 


…………………………………………………………Page 78……………………………………………………………

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



输出 



    ERROR 



    ORA…01428    argument …45 is out of range 



这是因为我们忽视了参数的取值范围                负数是没有对数的  改写为 



输入/输出 



SQL》SELECT   A   LN  ABS   A     FROM   NUMBERS 



       A        LN   ABS  A       A        LN   ABS  A 



       3。1415   1。1447004         …57。667  4。0546851 



       …45      3。8066625         15       2。7080502 



       5        1。6094379         …7。2      1。974081 



分析 



    注意   你可以将 ABS     函数嵌入到 LN  函数中使用  第二个对数函数需要两个参数                     其 



中第二个参数为底数  下例将返回以 10 为底的 B 列的对数值 



输入/输出 



SQL》 SELECT   B  LOG   B  10    FROM   NUMBERS 



            B      LOG(B;10)   B     LOG(B;10) 



            4      1。660964    42    。61604832 



            。707   …6。640962    55   。57459287 



            9      1。0479516    5。3   1。3806894 



MOD 



    其实我们已经见过 MOD         函数了  在第三天的  表达式            条件及操作      就有它     我们 



知道在 ANSI 标准中规定取模运算的符号为%在一些解释器中被函数 MOD 所取代                            下例的 



查询就返回了 A 与 B 相除后的余数 



输入 



SQL》SELECT   A   B  MOD   A  B    FROM    NUMBERS 



输出 



         A        B      MOD(A;B) 



         3。1415   4      3。1415 



         …45       。707  …。459 



         5         9     5 



EMAIL  wyhsillypig@163。                                               78 


…………………………………………………………Page 79……………………………………………………………

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



         …57。667  42    …15。667 



         15       55     15 



         …7。2     5。3   …1。9 



POWER 



    该函数可以返回某一个数对另一个数的幂                 在使用幂函数时       第一个参数为底数         第 



二个指数 



输入 



SQL》SELECT   A  B  POWER   A  B    FROM   NUMBERS 



输出 



ERROR 



ORA…01428  argument    45  is out of range 



分析 



    粗看时你可能会认为它不允许第一个参数为负数  但这个印象是错误的                          因为像…4   这 



样的数是可以做为底数的  可是             如果第一个参数为负数的话  那么第二个参数就必须是 



整数    负数是不能开方的         对于这个问题可以使用 CEIL         或 FLOOR   函数 



输入 



SQL》SELECT   A  CEIL  B   POWER   A  CEIL  B   FROM   NUMBERS 



输出 



       A        CEIL  B      POWER(A;CEIL(B)) 



       3。1415   4            97。3976 



       …45      1            …45 



       5        9            1953125 



       …57。667  42           9。098E+73 



       15       55           4。842E+64 



       …7。2     6            139314。07 



现在就可以有正确的结果了 



SIGN 



    如果参数的值为负数  那么 SIGN 返回…1           如果参数的值为正数  那么 SIGN 返回 1 



如果参数为零  那么 SIGN 也返回零  请看下例 



EMAIL  wyhsillypig@163。                                            79 


…………………………………………………………Page 80……………………………………………………………

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



输入 



SQL》SELECT    A  SIGN  A   FROM   NUMBERS 



输出 



      A        SIGN  A      A         SIGN  A 



      3。1415   1            …57。667   …1 



      …45      …1           15        1 



      5        1            …7。2      …1 



    你也可以在 SELECT WHERE 子句中使用 SIGN 



输入 



SQL》SELECT    A  FROM   NUMBERS    WHERE    SIGN   A  =1 



输出 



      A 



      3。1415 



      5 



      15 



SQRT 



    该函数返回参数的平方根            由于负数是不能开平方的  所以我们不能将该函数应用于 



负数 



输入/输出 



SQL》SELECT    A  SQRT   A  FROM   NUMBERS 



ERROR 



ORA…01428   argument '…45' is out of range 



但是你可以使用绝对值来解除这一限制 



输入/输出 



SQL》SELECT    ABS  A    SQRT  ABS   A   FROM   NUMBERS 



        ABS(A)    SQRT(ABS(A)) 



        3。1415    1。7724277 



        45        6。7082039 



        5         2。236068 



        57。667    7。5938791 



EMAIL  wyhsillypig@163。                                                80 


…………………………………………………………Page 81……………………………………………………………

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



       15       3。8729833 



       7。2      2。6832816 



       0        0 



字符函数 



    许多 SQL 解释器都提供了字符和字符串的处理功能               本部分覆盖了大部分字符串处理 



函数  这一部分的例子使用 CHARACTERS 表 



输入/输出 



SQL》  SELECT  *  FROM  CHARACTERS 



     LASTNAME     FIRSTNAME    M    CODE 



     PURVIS       KELLY        A    32 



     TAYLOR       CHUCK        J    67 



     CHRISTINE    LAURA        C    65 



     ADAMS        FESTER       M    87 



     COSTALES     ARMANDO      A    77 



     KONG         MAJOR        G    52 



CHR 



    该函数返回与所给数值参数等当的字符              返回的字符取决于数据库所依赖的字符集 



例如示例的数据库采用了 ASCLL 字符集           示例数据库的代码列的内容为数字 



输入 



SQL》SELECT  CODE   CHR  CODE    FROM   CHARACTERS 



输出 



       CODE    CH    CODE    CH 



       32            87      W 



       67      C     77      M 



       65      A     52      4 



    在数值 32 处显示为空白       因为 32 在 ASCLL 码表中是空格 



CONCAT 



    我们在第 3   天时学到过一个与这个函数所执行的功能相当的操作                     符号表示将两个 



EMAIL wyhsillypig@163。                                          81 


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