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

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

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






涨过工资了 



 日期转换 



     如果你想对日期的显示加一些附加的格式  那么你可以使用 TO_CHAR                                    来改变日期的 



显示方式  例子中首先得到的是今天的日期 



输入 



     SQL》 select sysdate  from dual 



输出 



         SYSDATE 



         08…MAY…97 



     当将日期转换为字符串时  你可以使用 TO_CHAR  函数功能的下列语法 



                                                                                       464 


…………………………………………………………Page 465……………………………………………………………

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



语法 



   TO_CHAR(sysdate;'date picture') 



   Date picture 是你想要看到的日期形式  最常见的日期形式如下 



        Mon      当前月简写 



        Day      当前日期是本周中的第几天 



        mm       当前的月份 



        yy       当前年的最后两位数 



        dd       当前日期是当前月的第几天 



        Yyyy     当前年 



        ddd      当前日期是当前年中的第几天 



        hh       当前时间是当前天的第几小时 



        mi       当前时间是当前小时的第几分钟 



        ss       当前时间是当前分钟的第几秒 



        a。m。     显示 PM 或 AM 



   在 date picture 中的引号中也可以包括逗号和其它的文本字符 



输入 



   SQL》 col today for a20 



   SQL》 select to_char(sysdate;'Mon dd; yyyy') today  from dual; 



输出 



     TODAY 



     May 08; 1997 



分析 



   注意在 COLUMN 列中如何使用 today  的别名 



输入 



   SQL》 col today hea 'TODAYs JULIAN DATE' for a20 



   SQL》 select to_char(sysdate;'ddd') today from dual; 



输出 



     TODAYs JULIAN DATE 



     128 



分析 



   有一些公司更喜欢使用乌利尤斯             恺撒日期并带有两位年份数字的写法             你的日期看 



                                                                  465 


…………………………………………………………Page 466……………………………………………………………

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



起来就是’yyddd’的样子 



     假定你已经写了一个小脚本并假定它的名字为 day                                      下边的例子将打开这个文件                       查 



看它的内容           并执行它以获得不同格式的日期转换信息 



输入 



     SQL》 get day 



输出 



     line 10 truncated。 



         1    set  echo  on 



         2    col  day  for  a10 



         3    col  today  for  a25 



         4    col  year  for  a25 



         5    col  time  for  a15 



         6    select  to_char(sysdate;'Day')  day; 



         7                  to_char(sysdate;'Mon  dd;  yyyy')  today; 



         8                  to_char(sysdate;'Year')  year; 



         9                  to_char(sysdate;'hh:mi:ss  a。m。')  time 



      10* from dual 



     现在  运行一下这个脚本 



输入 



     SQL》 @day 



输出 



     SQL》 set echo on 



     SQL》 col day for a10 



     SQL》 col today for a25 



     SQL》 col year for a25 



     SQL》 col time for a15 



     SQL》 select to_char(sysdate;'Day') day; 



         2                  to_char(sysdate;'Mon  dd;  yyyy')  today; 



         3                  to_char(sysdate;'Year')  year; 



         4                  to_char(sysdate;'hh:mi:ss  a。m。')  time 



                                                                                                     466 


…………………………………………………………Page 467……………………………………………………………

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



        5    from  dual; 



DAY         TODAY                  YEAR                   TIME 



Thursday   May 08; 1997         Nineteen Ninety…Seven 04:10:43 p。m。 



分析 



    因为ECHO 设置为ON  所以在这个例子中运行之前会显示整个的语句 此外 SYSDATE 



会被填入到四列中并被转换为四种格式 



    TO_DATE 函数还可以将文本转换为日期格式  基本的语法与 TO_CHAR 类似 



语法 



    TO_DATE(expression;'date_picture') 



    Try a couple of examples: 



输入 



    SQL》 select to_date('19970501';'yyyymmdd') 〃NEW DATE〃  from dual 



输出 



      NEW DATE 



      01…MAY…97 



输入 



    SQL》 select to_date('05/01/97';'mm〃/〃dd〃/〃yy') 〃NEW DATE〃 from dual 



输出 



      NEW DATE 



      01…MAY…97 



分析 



    注意   这里的字符串用引号括起来了 



运行一系列的 SQL 文件 



    一个 SQL  脚本文件可以包括你在 SQL  提示下输入到缓冲区中的任何内容  甚至可以 



是运行其它 SQL 脚本的命令          也就是说你可以从一个 SQL 脚本中执行另一个 SQL 脚本 



下图显示了使用 EDIT 命令创建的脚本             这个文件中包括了多条的 SQL  语句和运行其它的 



SQL 脚本的命令 



输入 



    SQL》 edit main。sql 



                                                                     467 


…………………………………………………………Page 468……………………………………………………………

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



输出 



    SQL》 @main 



分析 



    在启动 main。sql  以后  你可以运行在这个文件中的每一个 SQL 命令  query1 到 query5 



将会被执行      次序如下图所示 



在你的 SQL 脚本中加入注释 



    SQL*PLUS 为你提供了三种在脚本文件中加入注释的方法 



    ………一次可以注释一行语句 



    REMARK 也可以一次注释一行语句 



    /*    */可以注释多行语句 



    请学习下边的例子 



输入 



    SQL》 input 



        1    REMARK  this  is  a  ment 



      2  …this is a ment too 



        3    REM 



        4    … SET  MANDS 



                                                                        468 


…………………………………………………………Page 469……………………………………………………………

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



         5    set  echo  on 



         6    set  feedback  on 



         7    … SQL  STATEMENT 



         8    select  * 



         9    from  products 



       10 



     SQL》 



     如果想看一个脚本文件是如何注释的  请输入 



     SQL》 edit query10 



高级报表 



     现在我们来做一个游戏  通过今天你已经学习的以及你在此之前学习过的概念                                                   你现 



在可以创建一个非常奇特的报表  假设你的脚本名字为 report1。sql                                     运行它以后         坐下来 



看它的结果 



输入 



     SQL》 @report1 



输出 



     SQL》 set echo on 



     SQL》 set pagesize 50 



     SQL》 set feedback off 



     SQL》 set newpage 0 



     SQL》 col product_name hea 'PRODUCT|NAME' for a20 trunc 



     SQL》 col unit_cost hea 'UNIT|COST' for 99。99 



     SQL》 col product_qty hea 'QTY' for 999 



     SQL》 col total for 99;999。99 



     SQL》 spool report 



     SQL》 pute sum of total on customer 



     SQL》 pute sum of total on report 



     SQL》 break on report on customer skip 1 



                                                                                             469 


…………………………………………………………Page 470……………………………………………………………

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



          SQL》 select o。customer; p。product_name; p。unit_cost; 



              2                  o。product_qty;  (p。unit_cost  *  o。product_qty)  total 



              3    from  orders  o; 



              4              products  p 



              5    where  o。product_id  =  p。product_id 



              6    order  by  customer 



              7    / 



                                        PRODUCT                          UNIT 

CUSTOMER                                                                             QTY      TOTAL 

                                        NAME                             COST 



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