亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ch04.htm

?? 21精通SQL
?? HTM
?? 第 1 頁 / 共 5 頁
字號:
of numbers, as demonstrated by this example:</P>
<H5>INPUT:</H5>
<PRE><FONT COLOR="#0066FF">SQL&gt; <B>SELECT STDDEV(HITS)
 </B> 2<B>  FROM TEAMSTATS;</B></FONT></PRE>
<H5><FONT COLOR="#000000"><B>OUTPUT:</B></FONT></H5>
<PRE><FONT COLOR="#000000"><B></B></FONT></PRE>
<PRE><FONT COLOR="#0066FF">STDDEV(HITS)
------------
   28.336666
</FONT></PRE>
<P>It also returns an error when confronted by a string:</P>
<H5>INPUT/<FONT COLOR="#000000">OUTPUT:</FONT></H5>
<PRE><FONT COLOR="#0066FF">SQL&gt; <B>SELECT STDDEV(NAME)
</B>  2 <B> FROM TEAMSTATS;</B>

ERROR:
ORA-01722: invalid number
no rows selected
</FONT></PRE>
<P>These aggregate functions can also be used in various combinations:</P>
<H5>INPUT/<FONT COLOR="#000000">OUTPUT:</FONT></H5>
<PRE><FONT COLOR="#0066FF">SQL&gt; <B>SELECT COUNT(AB),
 </B> 2<B>  AVG(AB),
  </B>3 <B> MIN(AB),
  </B>4<B>  MAX(AB),
 </B> 5<B>  STDDEV(AB),
  </B>6<B>  VARIANCE(AB),
 </B> 7 <B> SUM(AB)
 </B> 8<B>  FROM TEAMSTATS;</B>

COUNT(AB) AVG(AB) MIN(AB) MAX(AB) STDDEV(AB) VARIANCE(AB) SUM(AB)
--------- ------- ------- ------- ---------- ------------ -------
6         119.167       1     187     75.589      5712.97     715
</FONT></PRE>
<P>The next time you hear a sportscaster use statistics to fill the time between
plays, you will know that SQL is at work somewhere behind the scenes.
<H2><FONT COLOR="#000077">Date and Time Functions</FONT></H2>
<P>We live in a civilization governed by times and dates, and most major implementations
of SQL have functions to cope with these concepts. This section uses the table <TT>PROJECT</TT>
to demonstrate the time and date functions.</P>
<H5>INPUT:</H5>
<PRE><FONT COLOR="#0066FF">SQL&gt; <B>SELECT * FROM PROJECT;</B></FONT></PRE>
<H5><FONT COLOR="#000000"><B>OUTPUT:</B></FONT></H5>
<PRE><FONT COLOR="#000000"><B></B></FONT></PRE>
<PRE><FONT COLOR="#0066FF">TASK           STARTDATE ENDDATE
-------------- --------- ---------
KICKOFF MTG    01-APR-95 01-APR-95
TECH SURVEY    02-APR-95 01-MAY-95
USER MTGS      15-MAY-95 30-MAY-95
DESIGN WIDGET  01-JUN-95 30-JUN-95
CODE WIDGET    01-JUL-95 02-SEP-95
TESTING        03-SEP-95 17-JAN-96
</FONT></PRE>
<PRE><FONT COLOR="#0066FF">6 rows selected.
</FONT></PRE>


<BLOCKQUOTE>
	<P>
<HR>
<FONT COLOR="#000077"><B>NOTE:</B></FONT><B> </B>This table used the Date data type.
	Most implementations of SQL have a Date data type, but the exact syntax may vary.
	
<HR>


</BLOCKQUOTE>

<H3><FONT COLOR="#000077">ADD_MONTHS</FONT></H3>
<P>This function adds a number of months to a specified date. For example, say something
extraordinary happened, and the preceding project slipped to the right by two months.
You could make a new schedule by typing</P>
<H5>INPUT:</H5>
<PRE><FONT COLOR="#0066FF">SQL&gt; <B>SELECT TASK,
 </B> 2<B>  STARTDATE,
</B>  3<B>  ENDDATE ORIGINAL_END,
</B>  4 <B> ADD_MONTHS(ENDDATE,2)
 </B> 5<B>  FROM PROJECT;</B></FONT></PRE>
<H5><FONT COLOR="#000000">OUTPUT:</FONT></H5>
<PRE><FONT COLOR="#000000"></FONT></PRE>
<PRE><FONT COLOR="#0066FF">TASK           STARTDATE ORIGINAL_ ADD_MONTH
-------------- --------- --------- ---------
KICKOFF MTG    01-APR-95 01-APR-95 01-JUN-95
TECH SURVEY    02-APR-95 01-MAY-95 01-JUL-95
USER MTGS      15-MAY-95 30-MAY-95 30-JUL-95
DESIGN WIDGET  01-JUN-95 30-JUN-95 31-AUG-95
CODE WIDGET    01-JUL-95 02-SEP-95 02-NOV-95
TESTING        03-SEP-95 17-JAN-96 17-MAR-96

6 rows selected.
</FONT></PRE>
<P>Not that a slip like this is possible, but it's nice to have a function that makes
it so easy. <TT>ADD_MONTHS</TT> also works outside the <TT>SELECT</TT> clause. Typing</P>
<H5>INPUT:</H5>
<PRE><FONT COLOR="#0066FF">SQL&gt; <B>SELECT TASK TASKS_SHORTER_THAN_ONE_MONTH
</B>  2<B>  FROM PROJECT
 </B> 3<B>  WHERE ADD_MONTHS(STARTDATE,1) &gt; ENDDATE;</B>
</FONT></PRE>
<P>produces the following result:</P>
<H5><FONT COLOR="#000000">OUTPUT:</FONT></H5>
<PRE><FONT COLOR="#0066FF">TASKS_SHORTER_THAN_ONE_MONTH
----------------------------
KICKOFF MTG
TECH SURVEY
USER MTGS
DESIGN WIDGET
</FONT></PRE>
<H5>ANALYSIS:</H5>
<P>You will find that all the functions in this section work in more than one place.
However, <TT>ADD MONTHS</TT> does not work with other data types like character or
number without the help of functions <TT>TO_CHAR</TT> and <TT>TO_DATE</TT>, which
are discussed later today.
<H3><FONT COLOR="#000077">LAST_DAY</FONT></H3>
<P><TT>LAST_DAY</TT> returns the last day of a specified month. It is for those of
us who haven't mastered the &quot;Thirty days has September...&quot; rhyme--or at
least those of us who have not yet taught it to our computers. If, for example, you
need to know what the last day of the month is in the column <TT>ENDDATE</TT>, you
would type</P>
<H5>INPUT:</H5>
<PRE><FONT COLOR="#0066FF">SQL&gt; <B>SELECT ENDDATE, LAST_DAY(ENDDATE)
  </B>2<B>  FROM PROJECT;</B>
</FONT></PRE>
<P>Here's the result:</P>
<H5><FONT COLOR="#000000">OUTPUT:</FONT></H5>
<PRE><FONT COLOR="#0066FF">ENDDATE   LAST_DAY(ENDDATE)
--------- -----------------
01-APR-95 30-APR-95
01-MAY-95 31-MAY-95
30-MAY-95 31-MAY-95
30-JUN-95 30-JUN-95
02-SEP-95 30-SEP-95
17-JAN-96 31-JAN-96
</FONT></PRE>
<PRE><FONT COLOR="#0066FF">6 rows selected.
</FONT></PRE>
<P>How does <TT>LAST DAY</TT> handle leap years?</P>
<H5>INPUT/<FONT COLOR="#000000">OUTPUT:</FONT></H5>
<PRE><FONT COLOR="#0066FF">SQL&gt; <B>SELECT LAST_DAY('1-FEB-95') NON_LEAP,
  </B>2<B>  LAST_DAY('1-FEB-96') LEAP
 </B> 3<B>  FROM PROJECT;
</B>
NON_LEAP  LEAP
--------- ---------
28-FEB-95 29-FEB-96
28-FEB-95 29-FEB-96
28-FEB-95 29-FEB-96
28-FEB-95 29-FEB-96
28-FEB-95 29-FEB-96
28-FEB-95 29-FEB-96
</FONT></PRE>
<PRE><FONT COLOR="#0066FF">6 rows selected.
</FONT></PRE>
<H5>ANALYSIS:</H5>
<P>You got the right result, but why were so many rows returned? Because you didn't
specify an existing column or any conditions, the SQL engine applied the date functions
in the statement to each existing row. Let's get something less redundant by using
the following:</P>
<H5>INPUT:</H5>
<PRE><FONT COLOR="#0066FF">SQL&gt; <B>SELECT DISTINCT LAST_DAY('1-FEB-95') NON_LEAP,
 </B> 2<B>  LAST_DAY('1-FEB-96') LEAP
  </B>3 <B> FROM PROJECT;
</B></FONT></PRE>
<P>This statement uses the word <TT>DISTINCT</TT> (see Day 2, &quot;Introduction
to the Query: The <TT>SELECT</TT> Statement&quot;) to produce the singular result</P>
<H5><FONT COLOR="#000000">OUTPUT:</FONT></H5>
<PRE><FONT COLOR="#0066FF">NON_LEAP  LEAP
--------- ---------
28-FEB-95 29-FEB-96
</FONT></PRE>
<P>Unlike me, this function knows which years are leap years. But before you trust
your own or your company's financial future to this or any other function, check
your implementation!
<H3><FONT COLOR="#000077">MONTHS_BETWEEN</FONT></H3>
<P>If you need to know how many months fall between month x and month y, use <TT>MONTHS_BETWEEN</TT>
like this:</P>
<H5>INPUT:</H5>
<PRE><FONT COLOR="#0066FF">SQL&gt; <B>SELECT TASK, STARTDATE, ENDDATE,MONTHS_BETWEEN(STARTDATE,ENDDATE)
     DURATION
 </B> 2<B>  FROM PROJECT;</B></FONT></PRE>
<H5><FONT COLOR="#000000">OUTPUT:</FONT></H5>
<PRE><FONT COLOR="#0066FF">TASK           STARTDATE ENDDATE    DURATION
-------------- --------- --------- ---------
KICKOFF MTG    01-APR-95 01-APR-95         0
TECH SURVEY    02-APR-95 01-MAY-95 -.9677419
USER MTGS      15-MAY-95 30-MAY-95  -.483871
DESIGN WIDGET  01-JUN-95 30-JUN-95 -.9354839
CODE WIDGET    01-JUL-95 02-SEP-95 -2.032258
TESTING        03-SEP-95 17-JAN-96 -4.451613
</FONT></PRE>
<PRE><FONT COLOR="#0066FF">6 rows selected.
</FONT></PRE>
<P>Wait a minute--that doesn't look right. Try this:</P>
<H5>INPUT/<FONT COLOR="#000000">OUTPUT:</FONT></H5>
<PRE><FONT COLOR="#0066FF">SQL&gt; <B>SELECT TASK, STARTDATE, ENDDATE,
  </B>2<B>  MONTHS_BETWEEN(ENDDATE,STARTDATE) DURATION
 </B> 3<B>  FROM PROJECT;</B>

TASK           STARTDATE ENDDATE    DURATION
-------------- --------- --------- ---------
KICKOFF MTG    01-APR-95 01-APR-95         0
TECH SURVEY    02-APR-95 01-MAY-95 .96774194
USER MTGS      15-MAY-95 30-MAY-95 .48387097
DESIGN WIDGET  01-JUN-95 30-JUN-95 .93548387
CODE WIDGET    01-JUL-95 02-SEP-95 2.0322581
TESTING        03-SEP-95 17-JAN-96 4.4516129
</FONT></PRE>
<PRE><FONT COLOR="#0066FF">6 rows selected.
</FONT></PRE>
<H5>ANALYSIS:</H5>
<P>That's better. You see that <TT>MONTHS_BETWEEN</TT> is sensitive to the way you
order the months. Negative months might not be bad. For example, you could use a
negative result to determine whether one date happened before another. For example,
the following statement shows all the tasks that started before May 19, 1995:</P>
<H5>INPUT:</H5>
<PRE><FONT COLOR="#0066FF">SQL&gt; <B>SELECT *
  </B>2<B>  FROM PROJECT
 </B> 3 <B> WHERE MONTHS_BETWEEN('19 MAY 95', STARTDATE) &gt; 0;</B></FONT></PRE>
<H5><FONT COLOR="#000000">OUTPUT:</FONT></H5>
<PRE><FONT COLOR="#0066FF">TASK           STARTDATE ENDDATE
-------------- --------- ---------
KICKOFF MTG    01-APR-95 01-APR-95
TECH SURVEY    02-APR-95 01-MAY-95
USER MTGS      15-MAY-95 30-MAY-95
</FONT></PRE>
<H3><FONT COLOR="#000077">NEW_TIME</FONT></H3>
<P>If you need to adjust the time according to the time zone you are in, the <TT>New_TIME</TT>
function is for you. Here are the time zones you can use with this function:</P>
<P>
<TABLE BORDER="1">
	<TR ALIGN="LEFT" rowspan="1">
		<TD ALIGN="LEFT"><B>Abbreviation</B></TD>
		<TD ALIGN="LEFT"><B>Time Zone</B></TD>
	</TR>
	<TR ALIGN="LEFT" rowspan="1">
		<TD ALIGN="LEFT">AST or ADT</TD>
		<TD ALIGN="LEFT">Atlantic standard or daylight time</TD>
	</TR>
	<TR ALIGN="LEFT" rowspan="1">
		<TD ALIGN="LEFT">BST or BDT</TD>
		<TD ALIGN="LEFT">Bering standard or daylight time</TD>
	</TR>
	<TR ALIGN="LEFT" rowspan="1">
		<TD ALIGN="LEFT">CST or CDT</TD>
		<TD ALIGN="LEFT">Central standard or daylight time</TD>
	</TR>
	<TR ALIGN="LEFT" rowspan="1">
		<TD ALIGN="LEFT">EST or EDT</TD>
		<TD ALIGN="LEFT">Eastern standard or daylight time</TD>
	</TR>
	<TR ALIGN="LEFT" rowspan="1">
		<TD ALIGN="LEFT">GMT</TD>
		<TD ALIGN="LEFT">Greenwich mean time</TD>
	</TR>
	<TR ALIGN="LEFT" rowspan="1">
		<TD ALIGN="LEFT">HST or HDT</TD>
		<TD ALIGN="LEFT">Alaska-Hawaii standard or daylight time</TD>
	</TR>
	<TR ALIGN="LEFT" rowspan="1">
		<TD ALIGN="LEFT">MST or MDT</TD>
		<TD ALIGN="LEFT">Mountain standard or daylight time</TD>
	</TR>
	<TR ALIGN="LEFT" rowspan="1">
		<TD ALIGN="LEFT">NST</TD>
		<TD ALIGN="LEFT">Newfoundland standard time</TD>
	</TR>
	<TR ALIGN="LEFT" rowspan="1">
		<TD ALIGN="LEFT">PST or PDT</TD>
		<TD ALIGN="LEFT">Pacific standard or daylight time</TD>
	</TR>
	<TR ALIGN="LEFT" rowspan="1">
		<TD ALIGN="LEFT">YST or YDT</TD>
		<TD ALIGN="LEFT">Yukon standard or daylight time</TD>
	</TR>
</TABLE>
</P>
<P>You can adjust your time like this:</P>
<H5>INPUT:</H5>
<PRE><FONT COLOR="#0066FF">SQL&gt; <B>SELECT ENDDATE EDT,
 </B> 2<B>  NEW_TIME(ENDDATE, 'EDT','PDT')
</B>  3<B>  FROM PROJECT;</B></FONT></PRE>
<H5><FONT COLOR="#000000">OUTPUT:</FONT></H5>
<PRE><FONT COLOR="#0066FF">EDT              NEW_TIME(ENDDATE
---------------- ----------------
01-APR-95 1200AM 31-MAR-95 0900PM
01-MAY-95 1200AM 30-APR-95 0900PM
30-MAY-95 1200AM 29-MAY-95 0900PM
30-JUN-95 1200AM 29-JUN-95 0900PM
02-SEP-95 1200AM 01-SEP-95 0900PM
17-JAN-96 1200AM 16-JAN-96 0900PM
</FONT></PRE>
<PRE><FONT COLOR="#0066FF">6 rows selected.
</FONT></PRE>
<P>Like magic, all the times are in the new time zone and the dates are adjusted.
<H3><FONT COLOR="#000077">NEXT_DAY</FONT></H3>
<P><TT>NEXT_DAY</TT> finds the name of the first day of the week that is equal to
or later than another specified date. For example, to send a report on the Friday
following the first day of each event, you would type</P>
<H5>INPUT:</H5>
<PRE><FONT COLOR="#0066FF">SQL&gt; <B>SELECT STARTDATE,
</B>  2<B>  NEXT_DAY(STARTDATE, 'FRIDAY')
 </B> 3<B>  FROM PROJECT;
</B></FONT></PRE>
<P>which would return</P>
<H5><FONT COLOR="#000000">OUTPUT:</FONT></H5>
<PRE><FONT COLOR="#0066FF">STARTDATE NEXT_DAY(
--------- ---------
01-APR-95 07-APR-95
02-APR-95 07-APR-95
15-MAY-95 19-MAY-95
01-JUN-95 02-JUN-95
01-JUL-95 07-JUL-95
03-SEP-95 08-SEP-95
</FONT></PRE>
<PRE><FONT COLOR="#0066FF">6 rows selected.
</FONT></PRE>
<H5>ANALYSIS:</H5>
<P>The output tells you the date of the first Friday that occurs after your <TT>STARTDATE</TT>.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧洲精品成人久久奇米网| 国产日韩欧美麻豆| 国产一区二区三区四区在线观看| 国产精品久久久久桃色tv| 欧美人伦禁忌dvd放荡欲情| 风流少妇一区二区| 日韩中文字幕一区二区三区| 国产精品色哟哟网站| 日韩视频免费观看高清完整版 | 国产精品狼人久久影院观看方式| 欧美男男青年gay1069videost| 99re6这里只有精品视频在线观看| 久久99久久99| 天天操天天色综合| 亚洲黄色性网站| 国产精品成人免费精品自在线观看| 精品国产91久久久久久久妲己 | 久久婷婷色综合| 91精品国产综合久久久久久| 色综合欧美在线| 不卡免费追剧大全电视剧网站| 九色|91porny| 青青青伊人色综合久久| 亚洲成精国产精品女| 亚洲欧洲av另类| 中文字幕免费在线观看视频一区| 精品国产一区二区国模嫣然| 欧美一区国产二区| 91精品国产福利| 欧美乱妇15p| 欧美日韩三级一区| 欧美一a一片一级一片| 91色视频在线| 一本色道久久综合亚洲精品按摩| 高清日韩电视剧大全免费| 国产揄拍国内精品对白| 精品伊人久久久久7777人| 日韩在线a电影| 蜜桃视频在线一区| 另类小说色综合网站| 极品少妇一区二区三区精品视频| 久久国产免费看| 国产一区视频网站| 国产福利电影一区二区三区| 国产一二三精品| 成人激情视频网站| 91小视频免费观看| 色欧美片视频在线观看| 色综合久久久网| 欧美无砖专区一中文字| 欧美日韩国产一二三| 91精品久久久久久久久99蜜臂| 欧美一区二区日韩| 精品理论电影在线观看| 久久综合九色综合欧美亚洲| 国产亚洲一区二区三区在线观看 | 日韩国产欧美三级| 精品一区二区三区免费视频| 国产精品456| 99v久久综合狠狠综合久久| 成人午夜激情在线| 91麻豆免费在线观看| 欧美日韩一区不卡| 日韩精品在线一区二区| 欧美极品aⅴ影院| 中文字幕日本不卡| 一区二区三区在线观看欧美| 天天影视色香欲综合网老头| 美女视频黄 久久| 粉嫩蜜臀av国产精品网站| 91美女片黄在线| 日韩一区二区免费电影| 国产精品毛片久久久久久| 一区二区三区免费网站| 午夜精品久久久久久久蜜桃app| 精品一区二区av| 99国产精品久久| 欧美一区二区国产| 中文字幕在线一区| 午夜精品123| 福利一区福利二区| 欧美日韩美少妇| 欧美韩国日本不卡| 五月激情综合网| 成人av免费网站| 欧美一区二区三区男人的天堂| 国产人成一区二区三区影院| 亚洲综合激情小说| 国产一区二区三区观看| 欧美伊人久久久久久久久影院 | 欧美一区二区精品在线| 亚洲视频在线观看三级| 久久精品99国产精品| 色婷婷亚洲婷婷| 精品国产成人在线影院| 亚洲国产日产av| 丁香婷婷综合激情五月色| 欧美丝袜丝交足nylons图片| 国产欧美精品在线观看| 日韩精品久久久久久| 色综合天天综合网天天看片| 久久众筹精品私拍模特| 日韩精品欧美精品| 色哟哟精品一区| 国产欧美综合色| 美腿丝袜亚洲三区| 欧美日韩成人综合天天影院| 国产精品久久久久久久久久久免费看| 麻豆国产精品一区二区三区| 在线观看国产一区二区| 国产精品久久精品日日| 韩国av一区二区三区| 777a∨成人精品桃花网| 亚洲一区二区三区美女| 不卡视频免费播放| 久久精品亚洲精品国产欧美| 日本午夜精品视频在线观看| 精品视频999| 一二三四社区欧美黄| 91在线丨porny丨国产| 国产精品无遮挡| 国产精品白丝av| 久久久久国产精品人| 国内精品国产成人国产三级粉色 | 97久久人人超碰| 欧美韩国一区二区| 国产成人av一区| 久久嫩草精品久久久精品一| 另类中文字幕网| 日韩免费一区二区三区在线播放| 手机精品视频在线观看| 欧美日韩亚洲另类| 亚洲综合图片区| 欧美三级乱人伦电影| 亚洲午夜日本在线观看| 欧美色倩网站大全免费| 亚洲国产aⅴ天堂久久| 精品视频一区三区九区| 亚洲综合无码一区二区| 欧美日韩国产三级| 午夜国产精品一区| 欧美久久一二区| 日本一区中文字幕| 精品三级av在线| 国产乱码一区二区三区| 亚洲国产成人自拍| 99精品热视频| 亚洲国产aⅴ成人精品无吗| 欧美日韩在线免费视频| 亚洲成人7777| 精品免费99久久| 国产91色综合久久免费分享| 国产精品久久久久久久浪潮网站| av激情综合网| 夜夜嗨av一区二区三区四季av| 欧美日韩高清在线播放| 裸体健美xxxx欧美裸体表演| 久久只精品国产| 白白色亚洲国产精品| 亚洲精品视频免费观看| 欧美日韩在线播| 久久精品国产99久久6| 国产精品网站在线播放| 日本大香伊一区二区三区| 视频一区二区三区中文字幕| 精品国产免费人成电影在线观看四季| 国产乱码字幕精品高清av| 国产精品久久久久久亚洲毛片 | 欧美日韩另类一区| 狠狠色狠狠色综合系列| 国产精品久久毛片av大全日韩| 欧美综合视频在线观看| 免费欧美高清视频| 国产精品色在线| 欧美精品丝袜久久久中文字幕| 久久99国内精品| 亚洲视频一区二区在线| 欧美一卡二卡在线观看| 国产不卡免费视频| 午夜激情一区二区三区| 国产精品你懂的在线欣赏| 欧美在线一区二区三区| 精品一区二区日韩| 亚洲丝袜另类动漫二区| 日韩精品一区二区三区swag| 不卡的av电影| 久久精品99国产精品| 亚洲精品乱码久久久久| 精品免费日韩av| 欧美系列日韩一区| 国产xxx精品视频大全| 午夜激情一区二区| 中文字幕中文字幕一区二区| 欧美xxxx在线观看| 99久久99久久免费精品蜜臀| 精品制服美女丁香| 亚洲不卡av一区二区三区| 中文字幕av免费专区久久| 精品少妇一区二区三区免费观看| 欧美性受极品xxxx喷水|