友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!
第三电子书 返回本书目录 加入书签 我的书架 我的书签 TXT全本下载 『收藏到我的浏览器』

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

快捷操作: 按键盘上方向键 ← 或 → 可快速上下翻页 按键盘上的 Enter 键可回到本书目录页 按键盘上方向键 ↑ 可回到本页顶部! 如果本书没有阅读完,想下次继续接着阅读,可使用上方 "收藏到我的浏览器" 功能 和 "加入书签" 功能!




           3。1415    4     …57。667  42 



           …45       。707  15       55 



           5         9     …7。2     5。3 



EMAIL wyhsillypig@163。                                        74 


…………………………………………………………Page 75……………………………………………………………

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



ABS 



    ABS  函数返回给定数字的绝对值  例如 



    输入 



    SQL》SELECT   ABS  A    ABSOLUTE_VALUE     FROM   NUMBERS 



    输出 



          ABSOLUTE_VALUE       ABSOLUTE_VALUE 



                        3。1415               57。667 



                           45                   15 



                            5                  7。2 



CEIL 和 FLOOR 



    CEIL  返回与给定参数相等或比给定参数在的最小整数  FLOOR  则正好相反  它返回 



与给定参数相等或比给定参数小的最大整数  例如 



    输入 



    SQL》SELECT   B  CEIL  B    CEILING  FROM   NUMBERS 



    输出 



         B      CEILING   B     CEILING 



         4      4         42    42 



         。707   1          55   55 



         9      9          5。3  6 



    输入/输出 



    SQL》SELECT   A  FLOOR   A    FLOOR   FROM   NUMBERS 



      A       FLOOR     A        FLOOR 



      3。1415  3         …57。667  …58 



      …45     …45       15       15 



      5       5         …7。2     …8 



COS     COSH       SIN     SINH     TAN      TANH 



    COS  SIN  TAN  函数可以返回给定参数的三角函数值               默认的参数认定为弧度制 



如果你没有认识到这一点那你会觉得下例所返回的值是错误 



EMAIL  wyhsillypig@163。                                             75 


…………………………………………………………Page 76……………………………………………………………

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



    输入 



    SQL》SELECT     A  COS   A  FROM    NUMBERS 



    输出 



          A        COS(A)       A         COS(A) 



          3。1415   …1           …57。667   。437183 



          …45      。52532199    15        …。7596879 



          5        。28366219    …7。2      。60835131 



分析 



    你可能认为 COS        45  的返回值应该为 0。707 左右  而不应该是 0。525               如果你想让它 



按照弧度制来计算  那么你需要将弧度制转换成角度制                          由于 360 角度为 2 个弧度         所以 



我们可以写成 



输入/输出 



SQL》SELECT     A  COS   A*0。01745329251994    FROM    NUMBERS 



      A          COS(A*0。01745329251994) 



      3。1415    。99849724 



      …45       。70710678 



      5          。9961947 



      …57。667    。5348391 



      15        。96592583 



      …7。2       。9921147 



分析 



这里的将角度转换成弧度后的数值  三角函数也可以像下面所写的那样工作 



输入/输出 



SQL》SELECT     A  COS   A*0。017453   COSH    A*0。017453    FROM    NUMBERS 



      A          COS(A*0。017453)    COSH(A*0。017453) 



      3。1415    。99849729           1。0015035 



      …45       。70711609           1。3245977 



      5         。99619483           1。00381 



      …57。667   。53485335           1。5507072 



      15        。96592696           1。0344645 



      …7。2      。99211497           1。0079058 



输入/输出 



EMAIL  wyhsillypig@163。                                                     76 


…………………………………………………………Page 77……………………………………………………………

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



SQL》 SELECT     A  SIN   A*0。017453    SINH   A*0。017453    FROM    NUMBERS 



      A          SIN(A*0。017453)     SINH(A*0。017453) 



       3。1415    。05480113           。05485607 



       …45       …。7070975           …。8686535 



       5         。08715429           。0873758 



       …57。667   …。8449449           …1。185197 



       15        。25881481           。26479569 



       …7。2      …。1253311           …。1259926 



输入/输出 



SQL》 SELECT     A  TAN    A*0。017453   TANH    A*0。017453     FROM    NUMBERS 



      A          TAN(A*0。017453)     TANH(A*0。017453) 



       3。1415    。05488361           。05477372 



       …45       …。9999737           …。6557867 



       5         。08748719           。08704416 



       …57。667   …1。579769           …。7642948 



       15        。26794449           。25597369 



       …7。2      …。1263272           …。1250043 



EXP 



EXP 将会返回以给定的参数为指数                  以 e 为底数的幂值  其应用见下例 



输入 



SQL》SELECT     A   EXP   A    FROM     NUMBERS 



输出 



            A         EXP(A)       A         EXP(A) 



            3。1415    23。138549    …57。667    9。027E…26 



            …45       2。863E…20    15         3269017。4 



            5         148。41316    …7。2       。00074659 



LN and LOG 



    这是两个对数函数           其中 LN 返回给定参数的自然对数  例如 



输入 



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 


返回目录 上一页 下一页 回到顶部 1 1
快捷操作: 按键盘上方向键 ← 或 → 可快速上下翻页 按键盘上的 Enter 键可回到本书目录页 按键盘上方向键 ↑ 可回到本页顶部!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!