﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-Reg-随笔分类-SQL</title><link>http://www.blogjava.net/Reg/category/45432.html</link><description /><language>zh-cn</language><lastBuildDate>Sat, 19 Mar 2011 02:45:28 GMT</lastBuildDate><pubDate>Sat, 19 Mar 2011 02:45:28 GMT</pubDate><ttl>60</ttl><item><title>显示sql server的查询语句运行时间，具体到毫秒</title><link>http://www.blogjava.net/Reg/archive/2011/03/18/346546.html</link><dc:creator>艾波</dc:creator><author>艾波</author><pubDate>Fri, 18 Mar 2011 08:31:00 GMT</pubDate><guid>http://www.blogjava.net/Reg/archive/2011/03/18/346546.html</guid><wfw:comment>http://www.blogjava.net/Reg/comments/346546.html</wfw:comment><comments>http://www.blogjava.net/Reg/archive/2011/03/18/346546.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Reg/comments/commentRss/346546.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Reg/services/trackbacks/346546.html</trackback:ping><description><![CDATA[<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><span style="color: #0000ff">declare</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">@ct</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; font-weight: bold">datetime</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;</span><span style="color: #0000ff">set</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">@ct</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;</span><span style="color: #ff00ff">getdate</span><span style="color: #000000">()&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;</span><span style="color: #008080">--</span><span style="color: #008080">-&nbsp;&nbsp;&nbsp;</span><span style="color: #008080"><br />
</span><span style="color: #000000">&nbsp;&nbsp;</span><span style="color: #008080">--</span><span style="color: #008080">sql&nbsp;&nbsp;&nbsp;语句&nbsp;&nbsp;&nbsp;</span><span style="color: #008080"><br />
</span><span style="color: #000000"><br />
&nbsp;&nbsp;</span><span style="color: #008080">--</span><span style="color: #008080">-&nbsp;&nbsp;&nbsp;</span><span style="color: #008080"><br />
</span><span style="color: #000000">&nbsp;&nbsp;</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;</span><span style="color: #ff00ff">datediff</span><span style="color: #000000">(ms,&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">@ct</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;,</span><span style="color: #ff00ff">getdate</span><span style="color: #000000">())&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">as</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">查询时间（毫秒）</span><span style="color: #ff0000">'</span><span style="color: #000000">&nbsp;<br />
</span></div>
<img src ="http://www.blogjava.net/Reg/aggbug/346546.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Reg/" target="_blank">艾波</a> 2011-03-18 16:31 <a href="http://www.blogjava.net/Reg/archive/2011/03/18/346546.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>树-Oracle用Start with...Connect By子句递归查询</title><link>http://www.blogjava.net/Reg/archive/2011/03/16/346370.html</link><dc:creator>艾波</dc:creator><author>艾波</author><pubDate>Wed, 16 Mar 2011 03:30:00 GMT</pubDate><guid>http://www.blogjava.net/Reg/archive/2011/03/16/346370.html</guid><wfw:comment>http://www.blogjava.net/Reg/comments/346370.html</wfw:comment><comments>http://www.blogjava.net/Reg/archive/2011/03/16/346370.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Reg/comments/commentRss/346370.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Reg/services/trackbacks/346370.html</trackback:ping><description><![CDATA[<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><span style="color: #000000">Start&nbsp;</span><span style="color: #0000ff">with</span><span style="color: #000000"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" />Connect&nbsp;By子句递归查询一般用于一个表维护树形结构的应用。<br />
创建示例表：<br />
</span><span style="color: #0000ff">CREATE</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">TABLE</span><span style="color: #000000">&nbsp;TBL_TEST<br />
(<br />
&nbsp;&nbsp;ID&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; font-weight: bold">NUMBER</span><span style="color: #000000">,<br />
&nbsp;&nbsp;NAME&nbsp;&nbsp;</span><span style="color: #000000; font-weight: bold">VARCHAR2</span><span style="color: #000000">(</span><span style="color: #800000; font-weight: bold">100</span><span style="color: #000000">&nbsp;BYTE),<br />
&nbsp;&nbsp;PID&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; font-weight: bold">NUMBER</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">DEFAULT</span><span style="color: #000000">&nbsp;</span><span style="color: #800000; font-weight: bold">0</span><span style="color: #000000"><br />
);<br />
&nbsp;<br />
插入测试数据：<br />
</span><span style="color: #0000ff">INSERT</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">INTO</span><span style="color: #000000">&nbsp;TBL_TEST(ID,NAME,PID)&nbsp;</span><span style="color: #0000ff">VALUES</span><span style="color: #000000">(</span><span style="color: #ff0000">'</span><span style="color: #ff0000">1</span><span style="color: #ff0000">'</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">10</span><span style="color: #ff0000">'</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">0</span><span style="color: #ff0000">'</span><span style="color: #000000">);<br />
</span><span style="color: #0000ff">INSERT</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">INTO</span><span style="color: #000000">&nbsp;TBL_TEST(ID,NAME,PID)&nbsp;</span><span style="color: #0000ff">VALUES</span><span style="color: #000000">(</span><span style="color: #ff0000">'</span><span style="color: #ff0000">2</span><span style="color: #ff0000">'</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">11</span><span style="color: #ff0000">'</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">1</span><span style="color: #ff0000">'</span><span style="color: #000000">);<br />
</span><span style="color: #0000ff">INSERT</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">INTO</span><span style="color: #000000">&nbsp;TBL_TEST(ID,NAME,PID)&nbsp;</span><span style="color: #0000ff">VALUES</span><span style="color: #000000">(</span><span style="color: #ff0000">'</span><span style="color: #ff0000">3</span><span style="color: #ff0000">'</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">20</span><span style="color: #ff0000">'</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">0</span><span style="color: #ff0000">'</span><span style="color: #000000">);<br />
</span><span style="color: #0000ff">INSERT</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">INTO</span><span style="color: #000000">&nbsp;TBL_TEST(ID,NAME,PID)&nbsp;</span><span style="color: #0000ff">VALUES</span><span style="color: #000000">(</span><span style="color: #ff0000">'</span><span style="color: #ff0000">4</span><span style="color: #ff0000">'</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">12</span><span style="color: #ff0000">'</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">1</span><span style="color: #ff0000">'</span><span style="color: #000000">);<br />
</span><span style="color: #0000ff">INSERT</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">INTO</span><span style="color: #000000">&nbsp;TBL_TEST(ID,NAME,PID)&nbsp;</span><span style="color: #0000ff">VALUES</span><span style="color: #000000">(</span><span style="color: #ff0000">'</span><span style="color: #ff0000">5</span><span style="color: #ff0000">'</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">121</span><span style="color: #ff0000">'</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">2</span><span style="color: #ff0000">'</span><span style="color: #000000">);<br />
&nbsp;<br />
从Root往树末梢递归<br />
</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">*</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;TBL_TEST<br />
&nbsp;start&nbsp;</span><span style="color: #0000ff">with</span><span style="color: #000000">&nbsp;id</span><span style="color: #808080">=</span><span style="color: #800000; font-weight: bold">1</span><span style="color: #000000"><br />
&nbsp;connect&nbsp;</span><span style="color: #0000ff">by</span><span style="color: #000000">&nbsp;prior&nbsp;id&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;pid<br />
&nbsp;<br />
从末梢往树ROOT递归<br />
</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">*</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;TBL_TEST<br />
&nbsp;start&nbsp;</span><span style="color: #0000ff">with</span><span style="color: #000000">&nbsp;id</span><span style="color: #808080">=</span><span style="color: #800000; font-weight: bold">5</span><span style="color: #000000"><br />
&nbsp;connect&nbsp;</span><span style="color: #0000ff">by</span><span style="color: #000000">&nbsp;prior&nbsp;pid&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;id<br />
</span><span style="color: #808080">=====</span><span style="color: #000000"><br />
对于oracle进行简单树查询(递归查询)<br />
<br />
DEPTID&nbsp;PAREDEPTID&nbsp;NAME&nbsp;<br />
</span><span style="color: #000000; font-weight: bold">NUMBER</span><span style="color: #000000">&nbsp;</span><span style="color: #000000; font-weight: bold">NUMBER</span><span style="color: #000000">&nbsp;</span><span style="color: #000000; font-weight: bold">CHAR</span><span style="color: #000000">&nbsp;(</span><span style="color: #800000; font-weight: bold">40</span><span style="color: #000000">&nbsp;Byte)&nbsp;<br />
部门id&nbsp;父部门id(所属部门id)&nbsp;部门名称&nbsp;<br />
<br />
<br />
通过子节点向根节点追朔.<br />
<br />
Sql代码&nbsp;<br />
</span><span style="color: #800000; font-weight: bold">1</span><span style="color: #000000">.</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">*</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;persons.dept&nbsp;start&nbsp;</span><span style="color: #0000ff">with</span><span style="color: #000000">&nbsp;deptid</span><span style="color: #808080">=</span><span style="color: #800000; font-weight: bold">76</span><span style="color: #000000">&nbsp;connect&nbsp;</span><span style="color: #0000ff">by</span><span style="color: #000000">&nbsp;prior&nbsp;paredeptid</span><span style="color: #808080">=</span><span style="color: #000000">deptid&nbsp;&nbsp;&nbsp;<br />
Sql代码&nbsp;&nbsp;<br />
</span><span style="color: #800000; font-weight: bold">1</span><span style="color: #000000">.</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">*</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;persons.dept&nbsp;start&nbsp;</span><span style="color: #0000ff">with</span><span style="color: #000000">&nbsp;deptid</span><span style="color: #808080">=</span><span style="color: #800000; font-weight: bold">76</span><span style="color: #000000">&nbsp;connect&nbsp;</span><span style="color: #0000ff">by</span><span style="color: #000000">&nbsp;prior&nbsp;paredeptid</span><span style="color: #808080">=</span><span style="color: #000000">deptid&nbsp;&nbsp;&nbsp;<br />
&nbsp;</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">*</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;persons.dept&nbsp;start&nbsp;</span><span style="color: #0000ff">with</span><span style="color: #000000">&nbsp;deptid</span><span style="color: #808080">=</span><span style="color: #800000; font-weight: bold">76</span><span style="color: #000000">&nbsp;connect&nbsp;</span><span style="color: #0000ff">by</span><span style="color: #000000">&nbsp;prior&nbsp;paredeptid</span><span style="color: #808080">=</span><span style="color: #000000">deptid&nbsp;&nbsp;<br />
<br />
通过根节点遍历子节点.&nbsp;<br />
<br />
Sql代码&nbsp;<br />
</span><span style="color: #800000; font-weight: bold">1</span><span style="color: #000000">.</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">*</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;persons.dept&nbsp;start&nbsp;</span><span style="color: #0000ff">with</span><span style="color: #000000">&nbsp;paredeptid</span><span style="color: #808080">=</span><span style="color: #800000; font-weight: bold">0</span><span style="color: #000000">&nbsp;connect&nbsp;</span><span style="color: #0000ff">by</span><span style="color: #000000">&nbsp;prior&nbsp;deptid</span><span style="color: #808080">=</span><span style="color: #000000">paredeptid&nbsp;&nbsp;&nbsp;<br />
Sql代码&nbsp;&nbsp;<br />
</span><span style="color: #800000; font-weight: bold">1</span><span style="color: #000000">.</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">*</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;persons.dept&nbsp;start&nbsp;</span><span style="color: #0000ff">with</span><span style="color: #000000">&nbsp;paredeptid</span><span style="color: #808080">=</span><span style="color: #800000; font-weight: bold">0</span><span style="color: #000000">&nbsp;connect&nbsp;</span><span style="color: #0000ff">by</span><span style="color: #000000">&nbsp;prior&nbsp;deptid</span><span style="color: #808080">=</span><span style="color: #000000">paredeptid&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">*</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;persons.dept&nbsp;start&nbsp;</span><span style="color: #0000ff">with</span><span style="color: #000000">&nbsp;paredeptid</span><span style="color: #808080">=</span><span style="color: #800000; font-weight: bold">0</span><span style="color: #000000">&nbsp;connect&nbsp;</span><span style="color: #0000ff">by</span><span style="color: #000000">&nbsp;prior&nbsp;deptid</span><span style="color: #808080">=</span><span style="color: #000000">paredeptid&nbsp;&nbsp;<br />
<br />
可通过level&nbsp;关键字查询所在层次.&nbsp;<br />
<br />
Sql代码&nbsp;<br />
</span><span style="color: #800000; font-weight: bold">1</span><span style="color: #000000">.</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;a.</span><span style="color: #808080">*</span><span style="color: #000000">,</span><span style="color: #0000ff">level</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;persons.dept&nbsp;a&nbsp;start&nbsp;</span><span style="color: #0000ff">with</span><span style="color: #000000">&nbsp;paredeptid</span><span style="color: #808080">=</span><span style="color: #800000; font-weight: bold">0</span><span style="color: #000000">&nbsp;connect&nbsp;</span><span style="color: #0000ff">by</span><span style="color: #000000">&nbsp;prior&nbsp;deptid</span><span style="color: #808080">=</span><span style="color: #000000">paredeptid&nbsp;&nbsp;&nbsp;<br />
Sql代码&nbsp;&nbsp;<br />
</span><span style="color: #800000; font-weight: bold">1</span><span style="color: #000000">.</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;a.</span><span style="color: #808080">*</span><span style="color: #000000">,</span><span style="color: #0000ff">level</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;persons.dept&nbsp;a&nbsp;start&nbsp;</span><span style="color: #0000ff">with</span><span style="color: #000000">&nbsp;paredeptid</span><span style="color: #808080">=</span><span style="color: #800000; font-weight: bold">0</span><span style="color: #000000">&nbsp;connect&nbsp;</span><span style="color: #0000ff">by</span><span style="color: #000000">&nbsp;prior&nbsp;deptid</span><span style="color: #808080">=</span><span style="color: #000000">paredeptid&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;a.</span><span style="color: #808080">*</span><span style="color: #000000">,</span><span style="color: #0000ff">level</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;persons.dept&nbsp;a&nbsp;start&nbsp;</span><span style="color: #0000ff">with</span><span style="color: #000000">&nbsp;paredeptid</span><span style="color: #808080">=</span><span style="color: #800000; font-weight: bold">0</span><span style="color: #000000">&nbsp;connect&nbsp;</span><span style="color: #0000ff">by</span><span style="color: #000000">&nbsp;prior&nbsp;deptid</span><span style="color: #808080">=</span><span style="color: #000000">paredeptid&nbsp;&nbsp;<br />
<br />
再次复习一下:start&nbsp;</span><span style="color: #0000ff">with</span><span style="color: #000000">&nbsp;<img src="http://www.blogjava.net/Images/dot.gif"  alt="" />connect&nbsp;</span><span style="color: #0000ff">by</span><span style="color: #000000">&nbsp;的用法，&nbsp;start&nbsp;</span><span style="color: #0000ff">with</span><span style="color: #000000">&nbsp;后面所跟的就是就是递归的种子。&nbsp;<br />
<br />
递归的种子也就是递归开始的地方&nbsp;connect&nbsp;</span><span style="color: #0000ff">by</span><span style="color: #000000">&nbsp;后面的"prior"&nbsp;如果缺省：则只能查询到符合条件的起始行，并不进行递归查询；&nbsp;<br />
<br />
connect&nbsp;</span><span style="color: #0000ff">by</span><span style="color: #000000">&nbsp;prior&nbsp;后面所放的字段是有关系的，它指明了查询的方向。&nbsp;<br />
<br />
练习：&nbsp;通过子节点获得顶节点&nbsp;<br />
<br />
Sql代码&nbsp;<br />
</span><span style="color: #800000; font-weight: bold">1</span><span style="color: #000000">.</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;FIRST_VALUE(deptid)&nbsp;</span><span style="color: #0000ff">OVER</span><span style="color: #000000">&nbsp;(</span><span style="color: #0000ff">ORDER</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">BY</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">LEVEL</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">DESC</span><span style="color: #000000">&nbsp;ROWS&nbsp;UNBOUNDED&nbsp;PRECEDING)&nbsp;</span><span style="color: #0000ff">AS</span><span style="color: #000000">&nbsp;firstdeptid&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;persons.dept&nbsp;start&nbsp;</span><span style="color: #0000ff">with</span><span style="color: #000000">&nbsp;deptid</span><span style="color: #808080">=</span><span style="color: #800000; font-weight: bold">76</span><span style="color: #000000">&nbsp;connect&nbsp;</span><span style="color: #0000ff">by</span><span style="color: #000000">&nbsp;prior&nbsp;paredeptid</span><span style="color: #808080">=</span><span style="color: #000000">deptid&nbsp;&nbsp;<br />
</span><span style="color: #808080">====</span><span style="color: #000000">这种方法只是当表里就有一颗树,多棵树怎么办？<br />
<br />
.声明：JavaEye文章版权属于作者，受法律保护。没有作者书面许可不得转载。&nbsp;<br />
</span></div>
<img src ="http://www.blogjava.net/Reg/aggbug/346370.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Reg/" target="_blank">艾波</a> 2011-03-16 11:30 <a href="http://www.blogjava.net/Reg/archive/2011/03/16/346370.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SQLSERVER 字符函数整理</title><link>http://www.blogjava.net/Reg/archive/2011/03/16/346369.html</link><dc:creator>艾波</dc:creator><author>艾波</author><pubDate>Wed, 16 Mar 2011 03:17:00 GMT</pubDate><guid>http://www.blogjava.net/Reg/archive/2011/03/16/346369.html</guid><wfw:comment>http://www.blogjava.net/Reg/comments/346369.html</wfw:comment><comments>http://www.blogjava.net/Reg/archive/2011/03/16/346369.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Reg/comments/commentRss/346369.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Reg/services/trackbacks/346369.html</trackback:ping><description><![CDATA[<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><span style="color: #000000">　　</span><span style="color: #008080">/*</span><span style="color: #008080">&nbsp;字符函数&nbsp;</span><span style="color: #008080">*/</span><span style="color: #000000"><br />
　　</span><span style="color: #008080">/*</span><span style="color: #008080">&nbsp;返回字符表达式中最左侧字符的ASCII代码值&nbsp;</span><span style="color: #008080">*/</span><span style="color: #000000"><br />
　　</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">Ascii</span><span style="color: #000000">(&#8216;a&#8216;)&nbsp;</span><span style="color: #008080">--</span><span style="color: #008080">a:97,A:65</span><span style="color: #008080"><br />
</span><span style="color: #000000">　　</span><span style="color: #008080">/*</span><span style="color: #008080">&nbsp;将整数ASCII代码转换为字符&nbsp;</span><span style="color: #008080">*/</span><span style="color: #000000"><br />
　　</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #000000; font-weight: bold">Char</span><span style="color: #000000">(</span><span style="color: #800000; font-weight: bold">97</span><span style="color: #000000">)</span><span style="color: #008080">--</span><span style="color: #008080">97:a,65:A</span><span style="color: #008080"><br />
</span><span style="color: #000000">　　</span><span style="color: #008080">/*</span><span style="color: #008080">&nbsp;返回表达式中指定字符的开始位置&nbsp;</span><span style="color: #008080">*/</span><span style="color: #000000"><br />
　　</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">Charindex</span><span style="color: #000000">(&#8216;b&#8216;,&#8216;abcdefg&#8216;,</span><span style="color: #800000; font-weight: bold">5</span><span style="color: #000000">)<br />
　　</span><span style="color: #008080">/*</span><span style="color: #008080">&nbsp;以整数返回两个字符表达式的SOUNDEX值之差&nbsp;</span><span style="color: #008080">*/</span><span style="color: #000000"><br />
　　</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">Difference</span><span style="color: #000000">(&#8216;bet&#8216;,&#8216;</span><span style="color: #000000; font-weight: bold">bit</span><span style="color: #000000">&#8216;)</span><span style="color: #008080">--</span><span style="color: #008080">3</span><span style="color: #008080"><br />
</span><span style="color: #000000">　　</span><span style="color: #008080">/*</span><span style="color: #008080">&nbsp;返回字符表达式最左侧指定数目的字符&nbsp;</span><span style="color: #008080">*/</span><span style="color: #000000"><br />
　　</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">Left</span><span style="color: #000000">(&#8216;abcdefg&#8216;,</span><span style="color: #800000; font-weight: bold">3</span><span style="color: #000000">)</span><span style="color: #008080">--</span><span style="color: #008080">abc</span><span style="color: #008080"><br />
</span><span style="color: #000000">　　</span><span style="color: #008080">/*</span><span style="color: #008080">&nbsp;返回给定字符串表达的字符数&nbsp;</span><span style="color: #008080">*/</span><span style="color: #000000"><br />
　　</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">Len</span><span style="color: #000000">(&#8216;abcdefg&#8216;)</span><span style="color: #008080">--</span><span style="color: #008080">7</span><span style="color: #008080"><br />
</span><span style="color: #000000">　　</span><span style="color: #008080">/*</span><span style="color: #008080">&nbsp;返回将大写字符转换为小字符的字符表达式&nbsp;</span><span style="color: #008080">*/</span><span style="color: #000000"><br />
　　</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">Lower</span><span style="color: #000000">(&#8216;ABCDEFG&#8216;)</span><span style="color: #008080">--</span><span style="color: #008080">abcdefg</span><span style="color: #008080"><br />
</span><span style="color: #000000">　　</span><span style="color: #008080">/*</span><span style="color: #008080">&nbsp;返回删除了前导空格之后字符表达式&nbsp;</span><span style="color: #008080">*/</span><span style="color: #000000"><br />
　　</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">Ltrim</span><span style="color: #000000">(&#8216;　　&nbsp;abcdefg&#8216;)</span><span style="color: #008080">--</span><span style="color: #008080">abcdefg</span><span style="color: #008080"><br />
</span><span style="color: #000000">　　</span><span style="color: #008080">/*</span><span style="color: #008080">&nbsp;返回具有给定的整数代码的UNICODE字符&nbsp;</span><span style="color: #008080">*/</span><span style="color: #000000"><br />
　　</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #000000; font-weight: bold">Nchar</span><span style="color: #000000">(</span><span style="color: #800000; font-weight: bold">65</span><span style="color: #000000">)</span><span style="color: #008080">--</span><span style="color: #008080">A</span><span style="color: #008080"><br />
</span><span style="color: #000000">　　</span><span style="color: #008080">/*</span><span style="color: #008080">&nbsp;返回指定表达式中模式第一次出现的开始位置&nbsp;</span><span style="color: #008080">*/</span><span style="color: #000000"><br />
　　</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">Patindex</span><span style="color: #000000">(&#8216;</span><span style="color: #808080">%</span><span style="color: #000000">_cd</span><span style="color: #808080">%</span><span style="color: #000000">&#8216;,&#8216;abcdefg&#8216;)</span><span style="color: #008080">--</span><span style="color: #008080">2</span><span style="color: #008080"><br />
</span><span style="color: #000000">　　</span><span style="color: #008080">/*</span><span style="color: #008080">&nbsp;返回为成为有效的SQL&nbsp;SERVER分隔标识符而添加了分隔符的UNICODE字符串&nbsp;</span><span style="color: #008080">*/</span><span style="color: #000000"><br />
　　</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">Quotename</span><span style="color: #000000">(&#8216;</span><span style="color: #0000ff">create</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">table</span><span style="color: #000000">&#8216;)<br />
　　</span><span style="color: #008080">/*</span><span style="color: #008080">&nbsp;用第三个表达式替换第一个表达式中出现的第二个表达式&nbsp;</span><span style="color: #008080">*/</span><span style="color: #000000"><br />
　　</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">Replace</span><span style="color: #000000">(&#8216;abcdefg&#8216;,&#8216;cd&#8216;,&#8216;xxx&#8216;)</span><span style="color: #008080">--</span><span style="color: #008080">abxxxefg</span><span style="color: #008080"><br />
</span><span style="color: #000000">　　</span><span style="color: #008080">/*</span><span style="color: #008080">&nbsp;按指定次数重复表达式&nbsp;</span><span style="color: #008080">*/</span><span style="color: #000000"><br />
　　</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">Replicate</span><span style="color: #000000">(&#8216;abc</span><span style="color: #808080">|</span><span style="color: #000000">&#8216;,</span><span style="color: #800000; font-weight: bold">4</span><span style="color: #000000">)</span><span style="color: #008080">--</span><span style="color: #008080">abc|abc|abc|abc|</span><span style="color: #008080"><br />
</span><span style="color: #000000">　　</span><span style="color: #008080">/*</span><span style="color: #008080">&nbsp;返回字符表达式的逆向表达式&nbsp;</span><span style="color: #008080">*/</span><span style="color: #000000"><br />
　　</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">Reverse</span><span style="color: #000000">(&#8216;abc&#8216;)</span><span style="color: #008080">--</span><span style="color: #008080">cba</span><span style="color: #008080"><br />
</span><span style="color: #000000">　　</span><span style="color: #008080">/*</span><span style="color: #008080">&nbsp;返回字符表达式右侧指定数目的字符&nbsp;</span><span style="color: #008080">*/</span><span style="color: #000000"><br />
　　</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">Right</span><span style="color: #000000">(&#8216;abcd&#8216;,</span><span style="color: #800000; font-weight: bold">3</span><span style="color: #000000">)</span><span style="color: #008080">--</span><span style="color: #008080">bcd</span><span style="color: #008080"><br />
</span><span style="color: #000000">　　</span><span style="color: #008080">/*</span><span style="color: #008080">&nbsp;返回截断了所有尾随空格之后的字符表达式&nbsp;</span><span style="color: #008080">*/</span><span style="color: #000000"><br />
　　</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">Rtrim</span><span style="color: #000000">(&#8216;abcd　　　&nbsp;&#8216;)</span><span style="color: #008080">--</span><span style="color: #008080">abcd</span><span style="color: #008080"><br />
</span><span style="color: #000000">　　</span><span style="color: #008080">/*</span><span style="color: #008080">&nbsp;返回由四个字符表达的SOUNDEX代码&nbsp;</span><span style="color: #008080">*/</span><span style="color: #000000"><br />
　　</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">Soundex</span><span style="color: #000000">(&#8216;abcd&#8216;)</span><span style="color: #008080">--</span><span style="color: #008080">A120</span><span style="color: #008080"><br />
</span><span style="color: #000000">　　</span><span style="color: #008080">/*</span><span style="color: #008080">&nbsp;返回由重复空格组成的字符串&nbsp;</span><span style="color: #008080">*/</span><span style="color: #000000"><br />
　　</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">Space</span><span style="color: #000000">(</span><span style="color: #800000; font-weight: bold">10</span><span style="color: #000000">)</span><span style="color: #008080">--</span><span style="color: #008080">[　　]</span><span style="color: #008080"><br />
</span><span style="color: #000000">　　</span><span style="color: #008080">/*</span><span style="color: #008080">&nbsp;返回从默认表达转换而来的字符串&nbsp;</span><span style="color: #008080">*/</span><span style="color: #000000"><br />
　　</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">Str</span><span style="color: #000000">(</span><span style="color: #800000; font-weight: bold">100</span><span style="color: #000000">)</span><span style="color: #008080">--</span><span style="color: #008080">[　　　　&nbsp;100]</span><span style="color: #008080"><br />
</span><span style="color: #000000">　　</span><span style="color: #008080">/*</span><span style="color: #008080">　&nbsp;</span><span style="color: #008080">*/</span><span style="color: #000000"><br />
　　</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">Str</span><span style="color: #000000">(</span><span style="color: #800000; font-weight: bold">100</span><span style="color: #000000">,</span><span style="color: #800000; font-weight: bold">3</span><span style="color: #000000">)</span><span style="color: #008080">--</span><span style="color: #008080">[100]</span><span style="color: #008080"><br />
</span><span style="color: #000000">　　</span><span style="color: #008080">/*</span><span style="color: #008080">　&nbsp;</span><span style="color: #008080">*/</span><span style="color: #000000"><br />
　　</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">Str</span><span style="color: #000000">(</span><span style="color: #800000; font-weight: bold">14.4444</span><span style="color: #000000">,</span><span style="color: #800000; font-weight: bold">5</span><span style="color: #000000">,</span><span style="color: #800000; font-weight: bold">4</span><span style="color: #000000">)</span><span style="color: #008080">--</span><span style="color: #008080">[14.44]</span><span style="color: #008080"><br />
</span><span style="color: #000000">　　</span><span style="color: #008080">/*</span><span style="color: #008080">&nbsp;删除指定长度的字符,并在指定的起点处插入另一组字符&nbsp;</span><span style="color: #008080">*/</span><span style="color: #000000"><br />
　　</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">Stuff</span><span style="color: #000000">(&#8216;abcdefg&#8216;,</span><span style="color: #800000; font-weight: bold">2</span><span style="color: #000000">,</span><span style="color: #800000; font-weight: bold">4</span><span style="color: #000000">,&#8216;xxx&#8216;)</span><span style="color: #008080">--</span><span style="color: #008080">axxxfg</span><span style="color: #008080"><br />
</span><span style="color: #000000">　　</span><span style="color: #008080">/*</span><span style="color: #008080">&nbsp;返回字符表达式,二进制,文本表达式或图像表达的一部分&nbsp;</span><span style="color: #008080">*/</span><span style="color: #000000"><br />
　　</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">Substring</span><span style="color: #000000">(&#8216;abcdefg&#8216;,</span><span style="color: #800000; font-weight: bold">2</span><span style="color: #000000">,</span><span style="color: #800000; font-weight: bold">3</span><span style="color: #000000">)</span><span style="color: #008080">--</span><span style="color: #008080">bcd</span><span style="color: #008080"><br />
</span><span style="color: #000000">　　</span><span style="color: #008080">/*</span><span style="color: #008080">&nbsp;返回表达第一个字符的UNICODE整数值&nbsp;</span><span style="color: #008080">*/</span><span style="color: #000000"><br />
　　</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">Unicode</span><span style="color: #000000">(&#8216;a&#8216;)</span><span style="color: #008080">--</span><span style="color: #008080">97</span><span style="color: #008080"><br />
</span><span style="color: #000000">　　</span><span style="color: #008080">/*</span><span style="color: #008080">&nbsp;返回将小写字符转换为大写字符的字符表达式&nbsp;</span><span style="color: #008080">*/</span><span style="color: #000000"><br />
　　</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">Upper</span><span style="color: #000000">(&#8216;a&#8216;)</span><span style="color: #008080">--</span><span style="color: #008080">&#8216;A&#8216;</span></div>
<img src ="http://www.blogjava.net/Reg/aggbug/346369.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Reg/" target="_blank">艾波</a> 2011-03-16 11:17 <a href="http://www.blogjava.net/Reg/archive/2011/03/16/346369.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SQLSERVER 数字格式化</title><link>http://www.blogjava.net/Reg/archive/2011/03/15/346336.html</link><dc:creator>艾波</dc:creator><author>艾波</author><pubDate>Tue, 15 Mar 2011 09:57:00 GMT</pubDate><guid>http://www.blogjava.net/Reg/archive/2011/03/15/346336.html</guid><wfw:comment>http://www.blogjava.net/Reg/comments/346336.html</wfw:comment><comments>http://www.blogjava.net/Reg/archive/2011/03/15/346336.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Reg/comments/commentRss/346336.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Reg/services/trackbacks/346336.html</trackback:ping><description><![CDATA[<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><span style="color: #ff00ff">Cast</span><span style="color: #000000">(</span><span style="color: #ff00ff">round</span><span style="color: #000000">((a.M_weight</span><span style="color: #808080">*</span><span style="color: #000000">a.length</span><span style="color: #808080">*</span><span style="color: #000000">a.R_NUMBER),</span><span style="color: #800000; font-weight: bold">2</span><span style="color: #000000">)&nbsp;</span><span style="color: #0000ff">as</span><span style="color: #000000">&nbsp;numeric(</span><span style="color: #800000; font-weight: bold">12</span><span style="color: #000000">,</span><span style="color: #800000; font-weight: bold">2</span><span style="color: #000000">))total</span></div>
<img src ="http://www.blogjava.net/Reg/aggbug/346336.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Reg/" target="_blank">艾波</a> 2011-03-15 17:57 <a href="http://www.blogjava.net/Reg/archive/2011/03/15/346336.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SQL SERVER 2008 PIVOT</title><link>http://www.blogjava.net/Reg/archive/2011/03/09/346046.html</link><dc:creator>艾波</dc:creator><author>艾波</author><pubDate>Wed, 09 Mar 2011 09:57:00 GMT</pubDate><guid>http://www.blogjava.net/Reg/archive/2011/03/09/346046.html</guid><wfw:comment>http://www.blogjava.net/Reg/comments/346046.html</wfw:comment><comments>http://www.blogjava.net/Reg/archive/2011/03/09/346046.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Reg/comments/commentRss/346046.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Reg/services/trackbacks/346046.html</trackback:ping><description><![CDATA[<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;doctype,docid,pro_type,create_date&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;TSPRO_SALESROOM_STOCKIN_MAIN&nbsp;</span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;CREATE_DATE</span><span style="color: #808080">&gt;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">2011-02-01</span><span style="color: #ff0000">'</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">and</span><span style="color: #000000">&nbsp;CREATE_DATE</span><span style="color: #808080">&lt;=</span><span style="color: #ff0000">'</span><span style="color: #ff0000">2011-02-28</span><span style="color: #ff0000">'</span><span style="color: #000000"><br />
&nbsp;<br />
&nbsp;&nbsp;</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">count</span><span style="color: #000000">(</span><span style="color: #808080">*</span><span style="color: #000000">)&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;TSPRO_SALESROOM_STOCKIN_MAIN&nbsp;</span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;CREATE_DATE</span><span style="color: #808080">&gt;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">2011-02-01</span><span style="color: #ff0000">'</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">and</span><span style="color: #000000">&nbsp;CREATE_DATE</span><span style="color: #808080">&lt;=</span><span style="color: #ff0000">'</span><span style="color: #ff0000">2011-02-28</span><span style="color: #ff0000">'</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">and</span><span style="color: #000000">&nbsp;pro_type</span><span style="color: #808080">=</span><span style="color: #800000; font-weight: bold">2</span><span style="color: #000000"><br />
&nbsp;<br />
&nbsp;<br />
&nbsp;</span><span style="color: #0000ff">SELECT</span><span style="color: #000000">&nbsp;pro_type,<br />
</span><span style="color: #ff0000">[</span><span style="color: #ff0000">1</span><span style="color: #ff0000">]</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">AS</span><span style="color: #000000">&nbsp;JAN,<br />
</span><span style="color: #ff0000">[</span><span style="color: #ff0000">2</span><span style="color: #ff0000">]</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">AS</span><span style="color: #000000">&nbsp;FEB,<br />
</span><span style="color: #ff0000">[</span><span style="color: #ff0000">3</span><span style="color: #ff0000">]</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">AS</span><span style="color: #000000">&nbsp;MAR,<br />
</span><span style="color: #ff0000">[</span><span style="color: #ff0000">4</span><span style="color: #ff0000">]</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">AS</span><span style="color: #000000">&nbsp;APR<br />
&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;(<br />
&nbsp;</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;pro_type,</span><span style="color: #ff00ff">DATEPART</span><span style="color: #000000">(MM,create_date)&nbsp;</span><span style="color: #0000ff">AS</span><span style="color: #000000">&nbsp;MON&nbsp;<br />
&nbsp;&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;TSPRO_SALESROOM_STOCKIN_MAIN&nbsp;</span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;CREATE_DATE</span><span style="color: #808080">&gt;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">2011-01-20</span><span style="color: #ff0000">'</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">and</span><span style="color: #000000">&nbsp;CREATE_DATE</span><span style="color: #808080">&lt;=</span><span style="color: #ff0000">'</span><span style="color: #ff0000">2011-03-09</span><span style="color: #ff0000">'</span><span style="color: #000000"><br />
&nbsp;)s&nbsp;<br />
&nbsp;PIVOT<br />
&nbsp;(<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #ff00ff">COUNT</span><span style="color: #000000">(MON)&nbsp;</span><span style="color: #0000ff">FOR</span><span style="color: #000000">&nbsp;MON&nbsp;</span><span style="color: #808080">IN</span><span style="color: #000000">&nbsp;(</span><span style="color: #ff0000">[</span><span style="color: #ff0000">1</span><span style="color: #ff0000">]</span><span style="color: #000000">,</span><span style="color: #ff0000">[</span><span style="color: #ff0000">2</span><span style="color: #ff0000">]</span><span style="color: #000000">,</span><span style="color: #ff0000">[</span><span style="color: #ff0000">3</span><span style="color: #ff0000">]</span><span style="color: #000000">,</span><span style="color: #ff0000">[</span><span style="color: #ff0000">4</span><span style="color: #ff0000">]</span><span style="color: #000000">)<br />
&nbsp;)</span><span style="color: #0000ff">AS</span><span style="color: #000000">&nbsp;p<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></div>
<img src ="http://www.blogjava.net/Reg/aggbug/346046.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Reg/" target="_blank">艾波</a> 2011-03-09 17:57 <a href="http://www.blogjava.net/Reg/archive/2011/03/09/346046.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>流水号创建(SQL2005)</title><link>http://www.blogjava.net/Reg/archive/2010/12/16/340917.html</link><dc:creator>艾波</dc:creator><author>艾波</author><pubDate>Thu, 16 Dec 2010 11:39:00 GMT</pubDate><guid>http://www.blogjava.net/Reg/archive/2010/12/16/340917.html</guid><wfw:comment>http://www.blogjava.net/Reg/comments/340917.html</wfw:comment><comments>http://www.blogjava.net/Reg/archive/2010/12/16/340917.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Reg/comments/commentRss/340917.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Reg/services/trackbacks/340917.html</trackback:ping><description><![CDATA[<div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #ff00ff;">right</span><span style="color: #000000;">(</span><span style="color: #ff00ff;">cast</span><span style="color: #000000;">(</span><span style="color: #ff00ff;">power</span><span style="color: #000000;">(</span><span style="color: #800000; font-weight: bold;">10</span><span style="color: #000000;">,</span><span style="color: #800000; font-weight: bold;">8</span><span style="color: #000000;">)&nbsp;</span><span style="color: #0000ff;">as</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000; font-weight: bold;">varchar</span><span style="color: #000000;">)</span><span style="color: #808080;">+</span><span style="color: #000000;">IDENT_CURRENT(</span><span style="color: #ff0000;">'</span><span style="color: #ff0000;">tablebame</span><span style="color: #ff0000;">'</span><span style="color: #000000;">),</span><span style="color: #800000; font-weight: bold;">8</span><span style="color: #000000;">)<br />
</span></div>
<img src ="http://www.blogjava.net/Reg/aggbug/340917.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Reg/" target="_blank">艾波</a> 2010-12-16 19:39 <a href="http://www.blogjava.net/Reg/archive/2010/12/16/340917.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SQL Server 2005 自定义函数语汇小结</title><link>http://www.blogjava.net/Reg/archive/2010/12/16/340916.html</link><dc:creator>艾波</dc:creator><author>艾波</author><pubDate>Thu, 16 Dec 2010 11:38:00 GMT</pubDate><guid>http://www.blogjava.net/Reg/archive/2010/12/16/340916.html</guid><wfw:comment>http://www.blogjava.net/Reg/comments/340916.html</wfw:comment><comments>http://www.blogjava.net/Reg/archive/2010/12/16/340916.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/Reg/comments/commentRss/340916.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Reg/services/trackbacks/340916.html</trackback:ping><description><![CDATA[<div style="background-color: rgb(238, 238, 238); font-size: 13px; border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: rgb(0, 0, 0);">由于工作的需要，了解下SQL&nbsp;Server&nbsp;</span><span style="color: rgb(128, 0, 0); font-weight: bold;">2005</span><span style="color: rgb(0, 0, 0);">&nbsp;函数的写法，现在总结一下：<br />
<br />
对于SQL&nbsp;Server&nbsp;</span><span style="color: rgb(128, 0, 0); font-weight: bold;">2005</span><span style="color: rgb(0, 0, 0);">&nbsp;数据库而言，函数与存储过程在语法方面是有很大的相同点，<br />
<br />
最大的不同就是函数有返回值，直接使用returns&nbsp;,而存储过程则使用output来声明输出变量<br />
<br />
一、下面先说明下，如何创建函数<br />
<br />
</span><span style="color: rgb(128, 0, 0); font-weight: bold;">1</span><span style="color: rgb(0, 0, 0);">、创建没有返回值与没有参数的函数<br />
<br />
</span><span style="color: rgb(0, 0, 255);">CREATE</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">FUNCTION</span><span style="color: rgb(0, 0, 0);">&nbsp;my_function()<br />
<br />
</span><span style="color: rgb(0, 0, 255);">AS</span><span style="color: rgb(0, 0, 0);"><br />
<br />
</span><span style="color: rgb(0, 0, 255);">BEGIN</span><span style="color: rgb(0, 0, 0);"><br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">DECLARE</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 128, 0);">@variable</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 0); font-weight: bold;">varchar</span><span style="color: rgb(0, 0, 0);">(</span><span style="color: rgb(128, 0, 0); font-weight: bold;">255</span><span style="color: rgb(0, 0, 0);">)&nbsp;</span><span style="color: rgb(0, 128, 128);">--</span><span style="color: rgb(0, 128, 128);">声明字符型变量</span><span style="color: rgb(0, 128, 128);"><br />
</span><span style="color: rgb(0, 0, 0);"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">DECLARE</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 128, 0);">@variable</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 0); font-weight: bold;">int</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 128, 128);">--</span><span style="color: rgb(0, 128, 128);">声明整形型变量</span><span style="color: rgb(0, 128, 128);"><br />
</span><span style="color: rgb(0, 0, 0);"><br />
&nbsp;&nbsp;&nbsp;&nbsp;<img src="http://www.blogjava.net/Images/dot.gif" alt="" />(do&nbsp;something)<br />
<br />
</span><span style="color: rgb(0, 0, 255);">SET</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 128, 0);">@variable</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(128, 128, 128);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(255, 0, 0);">12345</span><span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 128, 128);">--</span><span style="color: rgb(0, 128, 128);">对变量variable赋值</span><span style="color: rgb(0, 128, 128);"><br />
</span><span style="color: rgb(0, 0, 0);"><br />
</span><span style="color: rgb(0, 0, 255);">END</span><span style="color: rgb(0, 0, 0);"><br />
<br />
</span><span style="color: rgb(128, 0, 0); font-weight: bold;">2</span><span style="color: rgb(0, 0, 0);">、创建没有返回值有参数的函数<br />
<br />
</span><span style="color: rgb(0, 0, 255);">CREATE</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">FUNCTION</span><span style="color: rgb(0, 0, 0);">&nbsp;my_function(</span><span style="color: rgb(0, 128, 0);">@user_Name</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 0); font-weight: bold;">varchar</span><span style="color: rgb(0, 0, 0);">(</span><span style="color: rgb(128, 0, 0); font-weight: bold;">128</span><span style="color: rgb(0, 0, 0);">),</span><span style="color: rgb(0, 128, 0);">@password</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 0); font-weight: bold;">int</span><span style="color: rgb(0, 0, 0);">(</span><span style="color: rgb(128, 0, 0); font-weight: bold;">6</span><span style="color: rgb(0, 0, 0);">))<br />
<br />
</span><span style="color: rgb(0, 0, 255);">AS</span><span style="color: rgb(0, 0, 0);"><br />
<br />
</span><span style="color: rgb(0, 0, 255);">BEGIN</span><span style="color: rgb(0, 0, 0);"><br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">DECLARE</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 128, 0);">@variable_1</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 0); font-weight: bold;">varchar</span><span style="color: rgb(0, 0, 0);">(</span><span style="color: rgb(128, 0, 0); font-weight: bold;">255</span><span style="color: rgb(0, 0, 0);">)&nbsp;</span><span style="color: rgb(0, 128, 128);">--</span><span style="color: rgb(0, 128, 128);">声明字符型变量</span><span style="color: rgb(0, 128, 128);"><br />
</span><span style="color: rgb(0, 0, 0);"><br />
&nbsp;&nbsp;&nbsp;&nbsp;<img src="http://www.blogjava.net/Images/dot.gif" alt="" />(do&nbsp;something)<br />
<br />
</span><span style="color: rgb(0, 0, 255);">SET</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 128, 0);">@variable_1</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(128, 128, 128);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 128, 0);">@user_Name</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(128, 128, 128);">+</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(255, 0, 255);">convert</span><span style="color: rgb(0, 0, 0);">(</span><span style="color: rgb(0, 0, 0); font-weight: bold;">varchar</span><span style="color: rgb(0, 0, 0);">(</span><span style="color: rgb(128, 0, 0); font-weight: bold;">255</span><span style="color: rgb(0, 0, 0);">),</span><span style="color: rgb(0, 128, 0);">@password</span><span style="color: rgb(0, 0, 0);">)&nbsp;</span><span style="color: rgb(0, 128, 128);">--</span><span style="color: rgb(0, 128, 128);">将变量@user_Name与@password连接赋给@variable_1，其中convert()函数是将int型转为varchar型</span><span style="color: rgb(0, 128, 128);"><br />
</span><span style="color: rgb(0, 0, 0);"><br />
</span><span style="color: rgb(0, 0, 255);">END</span><span style="color: rgb(0, 0, 0);"><br />
<br />
</span><span style="color: rgb(128, 0, 0); font-weight: bold;">3</span><span style="color: rgb(0, 0, 0);">、创建有返回值与有参数的函数<br />
<br />
</span><span style="color: rgb(0, 0, 255);">CREATE</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">FUNCTION</span><span style="color: rgb(0, 0, 0);">&nbsp;my_function(</span><span style="color: rgb(0, 128, 0);">@user_Name</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 0); font-weight: bold;">varchar</span><span style="color: rgb(0, 0, 0);">(</span><span style="color: rgb(128, 0, 0); font-weight: bold;">128</span><span style="color: rgb(0, 0, 0);">),</span><span style="color: rgb(0, 128, 0);">@password</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 0); font-weight: bold;">int</span><span style="color: rgb(0, 0, 0);">(</span><span style="color: rgb(128, 0, 0); font-weight: bold;">6</span><span style="color: rgb(0, 0, 0);">))<br />
<br />
</span><span style="color: rgb(0, 0, 255);">returns</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 0); font-weight: bold;">varchar</span><span style="color: rgb(0, 0, 0);">(</span><span style="color: rgb(128, 0, 0); font-weight: bold;">255</span><span style="color: rgb(0, 0, 0);">)</span><span style="color: rgb(0, 128, 128);">--</span><span style="color: rgb(0, 128, 128);">设置返回值，记住是returns&nbsp;而不是return</span><span style="color: rgb(0, 128, 128);"><br />
</span><span style="color: rgb(0, 0, 0);"><br />
</span><span style="color: rgb(0, 0, 255);">AS</span><span style="color: rgb(0, 0, 0);"><br />
<br />
</span><span style="color: rgb(0, 0, 255);">BEGIN</span><span style="color: rgb(0, 0, 0);"><br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">DECLARE</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 128, 0);">@result</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 0); font-weight: bold;">varchar</span><span style="color: rgb(0, 0, 0);">(</span><span style="color: rgb(128, 0, 0); font-weight: bold;">5</span><span style="color: rgb(0, 0, 0);">)<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">DECLARE</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 128, 0);">@fagle</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 0); font-weight: bold;">varchar</span><span style="color: rgb(0, 0, 0);">(</span><span style="color: rgb(128, 0, 0); font-weight: bold;">5</span><span style="color: rgb(0, 0, 0);">)<br />
<br />
</span><span style="color: rgb(0, 0, 255);">SET</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 128, 0);">@result</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(128, 128, 128);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">select</span><span style="color: rgb(0, 0, 0);">&nbsp;users.</span><span style="color: rgb(255, 0, 255);">user_Name</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">from</span><span style="color: rgb(0, 0, 0);">&nbsp;USERS&nbsp;</span><span style="color: rgb(0, 0, 255);">as</span><span style="color: rgb(0, 0, 0);">&nbsp;users&nbsp;</span><span style="color: rgb(0, 0, 255);">where</span><span style="color: rgb(0, 0, 0);">&nbsp;users.</span><span style="color: rgb(255, 0, 255);">user_Name</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(128, 128, 128);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 128, 0);">@user_Name</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(128, 128, 128);">and</span><span style="color: rgb(0, 0, 0);">&nbsp;users.password&nbsp;</span><span style="color: rgb(128, 128, 128);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 128, 0);">@password</span><span style="color: rgb(0, 0, 0);"><br />
<br />
</span><span style="color: rgb(0, 0, 255);">IF</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 128, 0);">@result</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(128, 128, 128);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(255, 0, 0);">''</span><span style="color: rgb(0, 0, 0);"><br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">BEGIN</span><span style="color: rgb(0, 0, 0);"><br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">SET</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 128, 0);">@fagle</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(128, 128, 128);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(255, 0, 0);">NO</span><span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(0, 0, 0);"><br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">END</span><span style="color: rgb(0, 0, 0);"><br />
<br />
</span><span style="color: rgb(0, 0, 255);">ELSE</span><span style="color: rgb(0, 0, 0);"><br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">BEGIN</span><span style="color: rgb(0, 0, 0);"><br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">SET</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 128, 0);">@falge</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(128, 128, 128);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(255, 0, 0);">YES</span><span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(0, 0, 0);"><br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">END</span><span style="color: rgb(0, 0, 0);"><br />
<br />
</span><span style="color: rgb(0, 0, 255);">return</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 128, 0);">@result</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 128, 128);">--</span><span style="color: rgb(0, 128, 128);">返回结果</span><span style="color: rgb(0, 128, 128);"><br />
</span><span style="color: rgb(0, 0, 0);"><br />
</span><span style="color: rgb(0, 0, 255);">END</span><span style="color: rgb(0, 0, 0);"><br />
<br />
二、删除一个函数语法<br />
<br />
</span><span style="color: rgb(0, 0, 255);">DROP</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">FUNCTION</span><span style="color: rgb(0, 0, 0);">&nbsp;my_function<br />
<br />
三、执行一个函数语法<br />
<br />
</span><span style="color: rgb(0, 0, 255);">select</span><span style="color: rgb(0, 0, 0);">&nbsp;dbo.my_function(<img src="http://www.blogjava.net/Images/dot.gif" alt="" />)&nbsp;</span><span style="color: rgb(0, 128, 128);">--</span><span style="color: rgb(0, 128, 128);">根据有没参数来处理</span><span style="color: rgb(0, 128, 128);"><br />
</span><span style="color: rgb(0, 0, 0);"><br />
</span><span style="color: rgb(0, 0, 255);">go</span><span style="color: rgb(0, 0, 0);"><br />
<br />
</span><span style="color: rgb(0, 128, 128);">--</span><span style="color: rgb(0, 128, 128);">注：在SQL&nbsp;Server&nbsp;2005&nbsp;中，有内部函数与外部函数，数据库系统自带函数，如sum()，count()等等，这些称为内部函数，而我们自定义的函数称为外部函数。</span><span style="color: rgb(0, 128, 128);"><br />
</span><span style="color: rgb(0, 0, 0);"><br />
</span><span style="color: rgb(0, 128, 128);">--</span><span style="color: rgb(0, 128, 128);">在执行函数语法中，也有些区别，如执行内部函数：select&nbsp;sum(total)&nbsp;from&nbsp;<img src="http://www.blogjava.net/Images/dot.gif" alt="" />，那么执行外部函数则需要在函数名前加dbo.&nbsp;+&nbsp;自定义函数名，如</span><span style="color: rgb(0, 128, 128);"><br />
</span><span style="color: rgb(0, 0, 0);"><br />
</span><span style="color: rgb(0, 128, 128);">--</span><span style="color: rgb(0, 128, 128);">select&nbsp;dbo.my_function()</span><span style="color: rgb(0, 128, 128);"><br />
</span><span style="color: rgb(0, 0, 0);"><br />
</span><span style="color: rgb(0, 128, 128);">--</span><span style="color: rgb(0, 128, 128);">go</span><span style="color: rgb(0, 128, 128);"><br />
</span><span style="color: rgb(0, 0, 0);"><br />
四、下面提供二个例子<br />
<br />
</span><span style="color: rgb(128, 0, 0); font-weight: bold;">1</span><span style="color: rgb(0, 0, 0);">、日期判断，判断传进来的日期是否在上个月日到本月日之间<br />
<br />
</span><span style="color: rgb(0, 128, 128);">--</span><span style="color: rgb(0, 128, 128);">请注意convert()函数的用法</span><span style="color: rgb(0, 128, 128);"><br />
</span><span style="color: rgb(0, 0, 0);"><br />
</span><span style="color: rgb(0, 0, 255);">create</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">function</span><span style="color: rgb(0, 0, 0);">&nbsp;isNewContract(</span><span style="color: rgb(0, 128, 0);">@date</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 0); font-weight: bold;">varchar</span><span style="color: rgb(0, 0, 0);">(</span><span style="color: rgb(128, 0, 0); font-weight: bold;">32</span><span style="color: rgb(0, 0, 0);">))<br />
<br />
</span><span style="color: rgb(0, 0, 255);">returns</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 0); font-weight: bold;">varchar</span><span style="color: rgb(0, 0, 0);">(</span><span style="color: rgb(128, 0, 0); font-weight: bold;">32</span><span style="color: rgb(0, 0, 0);">)<br />
<br />
</span><span style="color: rgb(0, 0, 255);">AS</span><span style="color: rgb(0, 0, 0);"><br />
<br />
</span><span style="color: rgb(0, 0, 255);">begin</span><span style="color: rgb(0, 0, 0);"><br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">declare</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 128, 0);">@begin_time</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 0); font-weight: bold;">varchar</span><span style="color: rgb(0, 0, 0);">(</span><span style="color: rgb(128, 0, 0); font-weight: bold;">32</span><span style="color: rgb(0, 0, 0);">)<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">declare</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 128, 0);">@end_time</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 0); font-weight: bold;">varchar</span><span style="color: rgb(0, 0, 0);">(</span><span style="color: rgb(128, 0, 0); font-weight: bold;">32</span><span style="color: rgb(0, 0, 0);">)<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">declare</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 128, 0);">@temp</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 0); font-weight: bold;">varchar</span><span style="color: rgb(0, 0, 0);">(</span><span style="color: rgb(128, 0, 0); font-weight: bold;">4</span><span style="color: rgb(0, 0, 0);">)<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">declare</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 128, 0);">@result</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 0); font-weight: bold;">varchar</span><span style="color: rgb(0, 0, 0);">(</span><span style="color: rgb(128, 0, 0); font-weight: bold;">32</span><span style="color: rgb(0, 0, 0);">)<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">declare</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 128, 0);">@month</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 0); font-weight: bold;">varchar</span><span style="color: rgb(0, 0, 0);">(</span><span style="color: rgb(128, 0, 0); font-weight: bold;">2</span><span style="color: rgb(0, 0, 0);">)<br />
<br />
</span><span style="color: rgb(0, 0, 255);">set</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 128, 0);">@begin_time</span><span style="color: rgb(128, 128, 128);">=</span><span style="color: rgb(255, 0, 255);">convert</span><span style="color: rgb(0, 0, 0);">(</span><span style="color: rgb(0, 0, 0); font-weight: bold;">varchar</span><span style="color: rgb(0, 0, 0);">,</span><span style="color: rgb(255, 0, 255);">DATEPART</span><span style="color: rgb(0, 0, 0);">(</span><span style="color: rgb(255, 0, 255);">year</span><span style="color: rgb(0, 0, 0);">,&nbsp;</span><span style="color: rgb(255, 0, 255);">getdate</span><span style="color: rgb(0, 0, 0);">()))&nbsp;</span><span style="color: rgb(128, 128, 128);">+</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(255, 0, 0);">-</span><span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(0, 0, 0);"><br />
<br />
</span><span style="color: rgb(0, 0, 255);">set</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 128, 0);">@end_time</span><span style="color: rgb(128, 128, 128);">=</span><span style="color: rgb(255, 0, 255);">convert</span><span style="color: rgb(0, 0, 0);">(</span><span style="color: rgb(0, 0, 0); font-weight: bold;">varchar</span><span style="color: rgb(0, 0, 0);">,</span><span style="color: rgb(255, 0, 255);">DATEPART</span><span style="color: rgb(0, 0, 0);">(</span><span style="color: rgb(255, 0, 255);">year</span><span style="color: rgb(0, 0, 0);">,&nbsp;</span><span style="color: rgb(255, 0, 255);">getdate</span><span style="color: rgb(0, 0, 0);">()))&nbsp;</span><span style="color: rgb(128, 128, 128);">+</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(255, 0, 255);">convert</span><span style="color: rgb(0, 0, 0);">(</span><span style="color: rgb(0, 0, 0); font-weight: bold;">varchar</span><span style="color: rgb(0, 0, 0);">,&nbsp;</span><span style="color: rgb(255, 0, 255);">DATEPART</span><span style="color: rgb(0, 0, 0);">(</span><span style="color: rgb(255, 0, 255);">month</span><span style="color: rgb(0, 0, 0);">,&nbsp;</span><span style="color: rgb(255, 0, 255);">getdate</span><span style="color: rgb(0, 0, 0);">()))&nbsp;</span><span style="color: rgb(128, 128, 128);">+</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(255, 0, 255);">convert</span><span style="color: rgb(0, 0, 0);">(</span><span style="color: rgb(0, 0, 0); font-weight: bold;">varchar</span><span style="color: rgb(0, 0, 0);">,&nbsp;</span><span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(255, 0, 0);">14</span><span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">)<br />
<br />
</span><span style="color: rgb(0, 0, 255);">set</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 128, 0);">@temp</span><span style="color: rgb(128, 128, 128);">=</span><span style="color: rgb(255, 0, 255);">convert</span><span style="color: rgb(0, 0, 0);">(</span><span style="color: rgb(0, 0, 0); font-weight: bold;">varchar</span><span style="color: rgb(0, 0, 0);">(</span><span style="color: rgb(128, 0, 0); font-weight: bold;">2</span><span style="color: rgb(0, 0, 0);">),(</span><span style="color: rgb(255, 0, 255);">month</span><span style="color: rgb(0, 0, 0);">(</span><span style="color: rgb(255, 0, 255);">getDate</span><span style="color: rgb(0, 0, 0);">())</span><span style="color: rgb(128, 128, 128);">-</span><span style="color: rgb(128, 0, 0); font-weight: bold;">1</span><span style="color: rgb(0, 0, 0);">&nbsp;))<br />
<br />
</span><span style="color: rgb(0, 0, 255);">if</span><span style="color: rgb(0, 0, 0);">(</span><span style="color: rgb(0, 128, 0);">@temp</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(128, 128, 128);">&lt;</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(128, 0, 0); font-weight: bold;">10</span><span style="color: rgb(0, 0, 0);">&nbsp;)<br />
<br />
</span><span style="color: rgb(0, 0, 255);">begin</span><span style="color: rgb(0, 0, 0);"><br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">set</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 128, 0);">@begin_time</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(128, 128, 128);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 128, 0);">@begin_time</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(128, 128, 128);">+</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(255, 0, 255);">convert</span><span style="color: rgb(0, 0, 0);">(</span><span style="color: rgb(0, 0, 0); font-weight: bold;">varchar</span><span style="color: rgb(0, 0, 0);">(</span><span style="color: rgb(128, 0, 0); font-weight: bold;">1</span><span style="color: rgb(0, 0, 0);">),</span><span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(255, 0, 0);">0</span><span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">)&nbsp;</span><span style="color: rgb(128, 128, 128);">+</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 128, 0);">@temp</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(128, 128, 128);">+</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(255, 0, 0);">-</span><span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(128, 128, 128);">+</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(255, 0, 255);">convert</span><span style="color: rgb(0, 0, 0);">(</span><span style="color: rgb(0, 0, 0); font-weight: bold;">varchar</span><span style="color: rgb(0, 0, 0);">,&nbsp;</span><span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(255, 0, 0);">15</span><span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">)<br />
<br />
</span><span style="color: rgb(0, 0, 255);">end</span><span style="color: rgb(0, 0, 0);"><br />
<br />
</span><span style="color: rgb(0, 0, 255);">if</span><span style="color: rgb(0, 0, 0);">(</span><span style="color: rgb(0, 128, 0);">@date</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(128, 128, 128);">&gt;=</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 128, 0);">@begin_time</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(128, 128, 128);">and</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 128, 0);">@date</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(128, 128, 128);">&lt;=</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 128, 0);">@end_time</span><span style="color: rgb(0, 0, 0);">)<br />
<br />
</span><span style="color: rgb(0, 0, 255);">begin</span><span style="color: rgb(0, 0, 0);"><br />
<br />
</span><span style="color: rgb(0, 0, 255);">set</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 128, 0);">@result</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(128, 128, 128);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(255, 0, 0);">是</span><span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(0, 0, 0);"><br />
<br />
</span><span style="color: rgb(0, 0, 255);">end</span><span style="color: rgb(0, 0, 0);"><br />
<br />
</span><span style="color: rgb(0, 0, 255);">else</span><span style="color: rgb(0, 0, 0);"><br />
<br />
</span><span style="color: rgb(0, 0, 255);">begin</span><span style="color: rgb(0, 0, 0);"><br />
<br />
</span><span style="color: rgb(0, 0, 255);">set</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 128, 0);">@result</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(128, 128, 128);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 128, 0);">@begin_time</span><span style="color: rgb(0, 0, 0);"><br />
<br />
</span><span style="color: rgb(0, 0, 255);">end</span><span style="color: rgb(0, 0, 0);"><br />
<br />
</span><span style="color: rgb(0, 0, 255);">return</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 128, 0);">@result</span><span style="color: rgb(0, 0, 0);"><br />
<br />
</span><span style="color: rgb(0, 0, 255);">end</span><span style="color: rgb(0, 0, 0);"><br />
<br />
</span><span style="color: rgb(128, 0, 0); font-weight: bold;">2</span><span style="color: rgb(0, 0, 0);">、查询多条记录合并成一条记录返回，并写入EXECL表中，进行分行换行显示，其中使用游标进行循环处理<br />
<br />
</span><span style="color: rgb(0, 128, 128);">--</span><span style="color: rgb(0, 128, 128);">在数据库中，EXECL默认换行符ACSII码为'10',在合并字符串之前，需要先转为EXECL识别的换行符，具体使用chat()内部函数处理</span><span style="color: rgb(0, 128, 128);"><br />
</span><span style="color: rgb(0, 0, 0);"><br />
</span><span style="color: rgb(0, 0, 255);">create</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">function</span><span style="color: rgb(0, 0, 0);">&nbsp;getExportReportCollect(</span><span style="color: rgb(0, 128, 0);">@projectId</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 0); font-weight: bold;">int</span><span style="color: rgb(0, 0, 0);">&nbsp;,</span><span style="color: rgb(0, 128, 0);">@month</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 0); font-weight: bold;">varchar</span><span style="color: rgb(0, 0, 0);">(</span><span style="color: rgb(128, 0, 0); font-weight: bold;">64</span><span style="color: rgb(0, 0, 0);">))<br />
<br />
</span><span style="color: rgb(0, 0, 255);">returns</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 0); font-weight: bold;">varchar</span><span style="color: rgb(0, 0, 0);">(</span><span style="color: rgb(128, 0, 0); font-weight: bold;">4096</span><span style="color: rgb(0, 0, 0);">)&nbsp;</span><span style="color: rgb(0, 128, 128);">--</span><span style="color: rgb(0, 128, 128);">设置返回值</span><span style="color: rgb(0, 128, 128);"><br />
</span><span style="color: rgb(0, 0, 0);"><br />
</span><span style="color: rgb(0, 0, 255);">AS</span><span style="color: rgb(0, 0, 0);"><br />
<br />
</span><span style="color: rgb(0, 0, 255);">begin</span><span style="color: rgb(0, 0, 0);"><br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">declare</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 128, 0);">@num</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 0); font-weight: bold;">varchar</span><span style="color: rgb(0, 0, 0);">(</span><span style="color: rgb(128, 0, 0); font-weight: bold;">2</span><span style="color: rgb(0, 0, 0);">)<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">declare</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 128, 0);">@end</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 0); font-weight: bold;">varchar</span><span style="color: rgb(0, 0, 0);">(</span><span style="color: rgb(128, 0, 0); font-weight: bold;">10</span><span style="color: rgb(0, 0, 0);">)<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">declare</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 128, 0);">@Result</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 0); font-weight: bold;">varchar</span><span style="color: rgb(0, 0, 0);">(</span><span style="color: rgb(128, 0, 0); font-weight: bold;">4096</span><span style="color: rgb(0, 0, 0);">)&nbsp;</span><span style="color: rgb(0, 128, 128);">--</span><span style="color: rgb(0, 128, 128);">用于返回查询结果</span><span style="color: rgb(0, 128, 128);"><br />
</span><span style="color: rgb(0, 0, 0);"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">declare</span><span style="color: rgb(0, 0, 0);">&nbsp;city_cursor&nbsp;</span><span style="color: rgb(0, 0, 255);">cursor</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">for</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 128, 128);">--</span><span style="color: rgb(0, 128, 128);">声明游标变量</span><span style="color: rgb(0, 128, 128);"><br />
</span><span style="color: rgb(0, 0, 0);"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">select</span><span style="color: rgb(0, 0, 0);">&nbsp;reported.id<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">from</span><span style="color: rgb(0, 0, 0);">&nbsp;dbo.Investment_Budget_Reported&nbsp;</span><span style="color: rgb(0, 0, 255);">as</span><span style="color: rgb(0, 0, 0);">&nbsp;reported<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(255, 0, 255);">left</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">join</span><span style="color: rgb(0, 0, 0);">&nbsp;dbo.Investment_Budget_Contract&nbsp;</span><span style="color: rgb(0, 0, 255);">as</span><span style="color: rgb(0, 0, 0);">&nbsp;con<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">on</span><span style="color: rgb(0, 0, 0);">&nbsp;reported.contractId&nbsp;</span><span style="color: rgb(128, 128, 128);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;con.id<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">where</span><span style="color: rgb(0, 0, 0);">&nbsp;reported.</span><span style="color: rgb(255, 0, 0);">[</span><span style="color: rgb(255, 0, 0);">month</span><span style="color: rgb(255, 0, 0);">]</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(128, 128, 128);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 128, 0);">@month</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(128, 128, 128);">and</span><span style="color: rgb(0, 0, 0);">&nbsp;reported.projectId&nbsp;</span><span style="color: rgb(128, 128, 128);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 128, 0);">@projectId</span><span style="color: rgb(0, 0, 0);"><br />
<br />
</span><span style="color: rgb(0, 0, 255);">set</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 128, 0);">@Result</span><span style="color: rgb(128, 128, 128);">=</span><span style="color: rgb(255, 0, 0);">''</span><span style="color: rgb(0, 0, 0);"><br />
<br />
</span><span style="color: rgb(0, 0, 255);">set</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 128, 0);">@num</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(128, 128, 128);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(255, 0, 0);">1</span><span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(0, 0, 0);"><br />
<br />
</span><span style="color: rgb(0, 0, 255);">set</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 128, 0);">@end</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(128, 128, 128);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(255, 0, 0);">10</span><span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 128, 128);">--</span><span style="color: rgb(0, 128, 128);">导入EXECL表中，换行符的ACSII码</span><span style="color: rgb(0, 128, 128);"><br />
</span><span style="color: rgb(0, 0, 0);"><br />
</span><span style="color: rgb(0, 0, 255);">declare</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 128, 0);">@Field</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 0); font-weight: bold;">int</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 128, 128);">--</span><span style="color: rgb(0, 128, 128);">声明临时存放CityID的变量</span><span style="color: rgb(0, 128, 128);"><br />
</span><span style="color: rgb(0, 0, 0);"><br />
</span><span style="color: rgb(0, 0, 255);">open</span><span style="color: rgb(0, 0, 0);">&nbsp;city_cursor&nbsp;</span><span style="color: rgb(0, 128, 128);">--</span><span style="color: rgb(0, 128, 128);">打开游标</span><span style="color: rgb(0, 128, 128);"><br />
</span><span style="color: rgb(0, 0, 0);"><br />
</span><span style="color: rgb(0, 0, 255);">fetch</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">next</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">from</span><span style="color: rgb(0, 0, 0);">&nbsp;city_cursor&nbsp;</span><span style="color: rgb(0, 0, 255);">into</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 128, 0);">@Field</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 128, 128);">--</span><span style="color: rgb(0, 128, 128);">将实际ID赋给变量</span><span style="color: rgb(0, 128, 128);"><br />
</span><span style="color: rgb(0, 0, 0);"><br />
</span><span style="color: rgb(0, 0, 255);">while</span><span style="color: rgb(0, 0, 0);">(</span><span style="color: rgb(0, 128, 0); font-weight: bold;">@@fetch_status</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(128, 128, 128);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(128, 0, 0); font-weight: bold;">0</span><span style="color: rgb(0, 0, 0);">)&nbsp;</span><span style="color: rgb(0, 128, 128);">--</span><span style="color: rgb(0, 128, 128);">循环开始</span><span style="color: rgb(0, 128, 128);"><br />
</span><span style="color: rgb(0, 0, 0);"><br />
</span><span style="color: rgb(0, 0, 255);">begin</span><span style="color: rgb(0, 0, 0);"><br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">if</span><span style="color: rgb(0, 0, 0);">((</span><span style="color: rgb(0, 0, 255);">select</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(255, 0, 0);">[</span><span style="color: rgb(255, 0, 0);">content</span><span style="color: rgb(255, 0, 0);">]</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">from</span><span style="color: rgb(0, 0, 0);">&nbsp;dbo.Investment_Budget_Reported&nbsp;</span><span style="color: rgb(0, 0, 255);">where</span><span style="color: rgb(0, 0, 0);">&nbsp;id&nbsp;</span><span style="color: rgb(128, 128, 128);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 128, 0);">@Field</span><span style="color: rgb(0, 0, 0);">&nbsp;)</span><span style="color: rgb(0, 0, 255);">is</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(128, 128, 128);">not</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">null</span><span style="color: rgb(0, 0, 0);">)<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">BEGIN</span><span style="color: rgb(0, 0, 0);"><br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">if</span><span style="color: rgb(0, 0, 0);">(</span><span style="color: rgb(0, 128, 0);">@Result</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(128, 128, 128);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(255, 0, 0);">''</span><span style="color: rgb(0, 0, 0);">)<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">select</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 128, 0);">@Result</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(128, 128, 128);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 128, 0);">@Result</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(128, 128, 128);">+</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 128, 0);">@num</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(128, 128, 128);">+</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(255, 0, 0);">、</span><span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(128, 128, 128);">+</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(255, 0, 0);">[</span><span style="color: rgb(255, 0, 0);">content</span><span style="color: rgb(255, 0, 0);">]</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">from</span><span style="color: rgb(0, 0, 0);">&nbsp;dbo.Investment_Budget_Reported&nbsp;</span><span style="color: rgb(0, 0, 255);">where</span><span style="color: rgb(0, 0, 0);">&nbsp;id&nbsp;</span><span style="color: rgb(128, 128, 128);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 128, 0);">@Field</span><span style="color: rgb(0, 0, 0);"><br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">else</span><span style="color: rgb(0, 0, 0);"><br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">select</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 128, 0);">@Result</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(128, 128, 128);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 128, 0);">@Result</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(128, 128, 128);">+</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 128, 0);">@num</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(128, 128, 128);">+</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(255, 0, 0);">、</span><span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(128, 128, 128);">+</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(255, 0, 0);">[</span><span style="color: rgb(255, 0, 0);">content</span><span style="color: rgb(255, 0, 0);">]</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">from</span><span style="color: rgb(0, 0, 0);">&nbsp;dbo.Investment_Budget_Reported&nbsp;</span><span style="color: rgb(0, 0, 255);">where</span><span style="color: rgb(0, 0, 0);">&nbsp;id&nbsp;</span><span style="color: rgb(128, 128, 128);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 128, 0);">@Field</span><span style="color: rgb(0, 0, 0);"><br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">set</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 128, 0);">@Result</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(128, 128, 128);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 128, 0);">@Result</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(128, 128, 128);">+</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 0); font-weight: bold;">char</span><span style="color: rgb(0, 0, 0);">(</span><span style="color: rgb(0, 128, 0);">@end</span><span style="color: rgb(0, 0, 0);">)&nbsp;</span><span style="color: rgb(0, 128, 128);">--</span><span style="color: rgb(0, 128, 128);">让换行符转为EXECL认识的换行符</span><span style="color: rgb(0, 128, 128);"><br />
</span><span style="color: rgb(0, 0, 0);"><br />
</span><span style="color: rgb(0, 0, 255);">set</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 128, 0);">@num</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(128, 128, 128);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 128, 0);">@num</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(128, 128, 128);">+</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(128, 0, 0); font-weight: bold;">1</span><span style="color: rgb(0, 0, 0);"><br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">END</span><span style="color: rgb(0, 0, 0);"><br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">fetch</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">next</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">from</span><span style="color: rgb(0, 0, 0);">&nbsp;city_cursor&nbsp;</span><span style="color: rgb(0, 0, 255);">into</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 128, 0);">@Field</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 128, 128);">--</span><span style="color: rgb(0, 128, 128);">下一个reportId</span><span style="color: rgb(0, 128, 128);"><br />
</span><span style="color: rgb(0, 0, 0);"><br />
</span><span style="color: rgb(0, 0, 255);">end</span><span style="color: rgb(0, 0, 0);"><br />
<br />
</span><span style="color: rgb(0, 0, 255);">close</span><span style="color: rgb(0, 0, 0);">&nbsp;city_cursor&nbsp;</span><span style="color: rgb(0, 128, 128);">--</span><span style="color: rgb(0, 128, 128);">关闭游标</span><span style="color: rgb(0, 128, 128);"><br />
</span><span style="color: rgb(0, 0, 0);"><br />
</span><span style="color: rgb(0, 0, 255);">deallocate</span><span style="color: rgb(0, 0, 0);">&nbsp;city_cursor&nbsp;</span><span style="color: rgb(0, 128, 128);">--</span><span style="color: rgb(0, 128, 128);">释放游标引用</span><span style="color: rgb(0, 128, 128);"><br />
</span><span style="color: rgb(0, 0, 0);"><br />
</span><span style="color: rgb(0, 0, 255);">return</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 128, 0);">@Result</span><span style="color: rgb(0, 0, 0);"><br />
<br />
</span><span style="color: rgb(0, 0, 255);">end</span><span style="color: rgb(0, 0, 0);"><br />
<br />
<br />
本文来自CSDN博客，转载请标明出处：http:</span><span style="color: rgb(128, 128, 128);">//</span><span style="color: rgb(0, 0, 0);">blog.csdn.net</span><span style="color: rgb(128, 128, 128);">/</span><span style="color: rgb(0, 0, 0);">zhdd1234</span><span style="color: rgb(128, 128, 128);">/</span><span style="color: rgb(0, 0, 0);">archive</span><span style="color: rgb(128, 128, 128);">/</span><span style="color: rgb(128, 0, 0); font-weight: bold;">2009</span><span style="color: rgb(128, 128, 128);">/</span><span style="color: rgb(128, 0, 0); font-weight: bold;">10</span><span style="color: rgb(128, 128, 128);">/</span><span style="color: rgb(128, 0, 0); font-weight: bold;">27</span><span style="color: rgb(128, 128, 128);">/</span><span style="color: rgb(128, 0, 0); font-weight: bold;">4734789</span><span style="color: rgb(0, 0, 0);">.aspx</span></div>
<img src ="http://www.blogjava.net/Reg/aggbug/340916.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Reg/" target="_blank">艾波</a> 2010-12-16 19:38 <a href="http://www.blogjava.net/Reg/archive/2010/12/16/340916.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>&lt;img src='http://blog.csdn.net/images/turnship.gif'/&gt;sqlserver sql常用函数,语法</title><link>http://www.blogjava.net/Reg/archive/2010/11/23/338758.html</link><dc:creator>艾波</dc:creator><author>艾波</author><pubDate>Tue, 23 Nov 2010 02:21:00 GMT</pubDate><guid>http://www.blogjava.net/Reg/archive/2010/11/23/338758.html</guid><wfw:comment>http://www.blogjava.net/Reg/comments/338758.html</wfw:comment><comments>http://www.blogjava.net/Reg/archive/2010/11/23/338758.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Reg/comments/commentRss/338758.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Reg/services/trackbacks/338758.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: --&nbsp;返回一个表中所有的字段select&nbsp;name&nbsp;from&nbsp;syscolumns&nbsp;where&nbsp;id=object_id('tb_usertable_online')--&nbsp;获取最近添加的标识列的值set&nbsp;@rs&nbsp;=&nbsp;@@identity--&nbsp;print&nbsp;len...&nbsp;&nbsp;<a href='http://www.blogjava.net/Reg/archive/2010/11/23/338758.html'>阅读全文</a><img src ="http://www.blogjava.net/Reg/aggbug/338758.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Reg/" target="_blank">艾波</a> 2010-11-23 10:21 <a href="http://www.blogjava.net/Reg/archive/2010/11/23/338758.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SQLServer 实现rownum 的功能</title><link>http://www.blogjava.net/Reg/archive/2010/07/28/327358.html</link><dc:creator>艾波</dc:creator><author>艾波</author><pubDate>Wed, 28 Jul 2010 10:50:00 GMT</pubDate><guid>http://www.blogjava.net/Reg/archive/2010/07/28/327358.html</guid><wfw:comment>http://www.blogjava.net/Reg/comments/327358.html</wfw:comment><comments>http://www.blogjava.net/Reg/archive/2010/07/28/327358.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Reg/comments/commentRss/327358.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Reg/services/trackbacks/327358.html</trackback:ping><description><![CDATA[<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #000000">方法1:&nbsp;<br />
<br />
</span><span style="color: #0000ff">with</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">temp</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">as</span><span style="color: #000000">&nbsp;<br />
<br />
(&nbsp;</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;row_number()&nbsp;</span><span style="color: #0000ff">over</span><span style="color: #000000">(</span><span style="color: #0000ff">order</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">by</span><span style="color: #000000">&nbsp;cityID)&nbsp;</span><span style="color: #0000ff">as</span><span style="color: #000000">&nbsp;rownum,cityName&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;city&nbsp;)&nbsp;<br />
<br />
</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">*</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">temp</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;rownum&nbsp;</span><span style="color: #808080">between</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #800000">10</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">and</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #800000">20</span><span style="color: #000000">&nbsp;<br />
<br />
</span><span style="color: #0000ff">go</span><span style="color: #000000">&nbsp;<br />
<br />
解释:&nbsp;<br />
<br />
</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">&nbsp;此方法把括号里的查询结果放到变量:</span><span style="color: #0000ff">temp</span><span style="color: #000000">&nbsp;里面(&nbsp;我也不确定是不是变量),&nbsp;并用row_number()&nbsp;函数进行一个行号跟踪,&nbsp;再用over&nbsp;函数进行一个列的排序规则(&nbsp;是这必须的),&nbsp;并指定列名为</span><span style="color: #ff0000">'</span><span style="color: #ff0000">rownum</span><span style="color: #ff0000">'</span><span style="color: #000000">&nbsp;<br />
<br />
</span><span style="font-weight: bold; color: #800000">2</span><span style="color: #000000">&nbsp;紧接着在下面的语句可以对&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">rownum</span><span style="color: #ff0000">'</span><span style="color: #000000">&nbsp;进行一个指定行号的查询&nbsp;<br />
<br />
</span><span style="font-weight: bold; color: #800000">3</span><span style="color: #000000">&nbsp;此批语句执行完毕后,&nbsp;变量:</span><span style="color: #0000ff">temp</span><span style="color: #000000">&nbsp;释放&nbsp;<br />
<br />
方法2:&nbsp;<br />
<br />
</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">identity</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #000000">int</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">)&nbsp;</span><span style="color: #0000ff">as</span><span style="color: #000000">&nbsp;rownum,&nbsp;cityName&nbsp;</span><span style="color: #0000ff">into</span><span style="color: #000000">&nbsp;#</span><span style="color: #0000ff">temp</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;city&nbsp;<br />
<br />
</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">*</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;#</span><span style="color: #0000ff">temp</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;rownum&nbsp;</span><span style="color: #808080">between</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #800000">10</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">and</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #800000">20</span><span style="color: #000000">&nbsp;<br />
<br />
</span><span style="color: #0000ff">go</span><span style="color: #000000">&nbsp;<br />
<br />
解释:&nbsp;<br />
<br />
此方法跟上面的差不多的意思,&nbsp;只不过把&nbsp;row_number()&nbsp;函数换成了&nbsp;</span><span style="color: #ff00ff">identity</span><span style="color: #000000">()&nbsp;函数&nbsp;<br />
<br />
并把结果集放在一个临时表里面,&nbsp;当批语句执行完毕,&nbsp;此临时表还可以使用&nbsp;<br />
<br />
</span></div>
<img src ="http://www.blogjava.net/Reg/aggbug/327358.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Reg/" target="_blank">艾波</a> 2010-07-28 18:50 <a href="http://www.blogjava.net/Reg/archive/2010/07/28/327358.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>sql语句格式化数字(前面补0)的参考示例</title><link>http://www.blogjava.net/Reg/archive/2010/07/27/327243.html</link><dc:creator>艾波</dc:creator><author>艾波</author><pubDate>Tue, 27 Jul 2010 10:13:00 GMT</pubDate><guid>http://www.blogjava.net/Reg/archive/2010/07/27/327243.html</guid><wfw:comment>http://www.blogjava.net/Reg/comments/327243.html</wfw:comment><comments>http://www.blogjava.net/Reg/archive/2010/07/27/327243.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Reg/comments/commentRss/327243.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Reg/services/trackbacks/327243.html</trackback:ping><description><![CDATA[<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #000000">将一个数字例如33，或1使用t</span><span style="color: #808080">-</span><span style="color: #000000">sql语句转换成033或001&nbsp;以下是详细分析：&nbsp;<br />
</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">、</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">power</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">10</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">3</span><span style="color: #000000">)得到1000&nbsp;<br />
</span><span style="font-weight: bold; color: #800000">2</span><span style="color: #000000">、</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">cast</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">1000</span><span style="color: #808080">+</span><span style="font-weight: bold; color: #800000">33</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">as</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #000000">varchar</span><span style="color: #000000">）&nbsp;将1000转换类型&nbsp;<br />
</span><span style="font-weight: bold; color: #800000">3</span><span style="color: #000000">、</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">right</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">100033</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">3</span><span style="color: #000000">)&nbsp;从右边取3个字符得到033&nbsp;将1格式化同上&nbsp;</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">right</span><span style="color: #000000">(</span><span style="color: #ff00ff">cast</span><span style="color: #000000">(</span><span style="color: #ff00ff">power</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">10</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">3</span><span style="color: #000000">)&nbsp;</span><span style="color: #0000ff">as</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #000000">varchar</span><span style="color: #000000">)</span><span style="color: #808080">+</span><span style="font-weight: bold; color: #800000">33</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">3</span><span style="color: #000000">)<br />
<br />
</span></div>
<img src ="http://www.blogjava.net/Reg/aggbug/327243.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Reg/" target="_blank">艾波</a> 2010-07-27 18:13 <a href="http://www.blogjava.net/Reg/archive/2010/07/27/327243.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>经典的SQL</title><link>http://www.blogjava.net/Reg/archive/2010/06/24/324290.html</link><dc:creator>艾波</dc:creator><author>艾波</author><pubDate>Wed, 23 Jun 2010 16:43:00 GMT</pubDate><guid>http://www.blogjava.net/Reg/archive/2010/06/24/324290.html</guid><wfw:comment>http://www.blogjava.net/Reg/comments/324290.html</wfw:comment><comments>http://www.blogjava.net/Reg/archive/2010/06/24/324290.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Reg/comments/commentRss/324290.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Reg/services/trackbacks/324290.html</trackback:ping><description><![CDATA[假设只有一个table，名为pages，有四个字段，id, url,title,body。里面储存了很多网页，网页的url地址，title和网页的内容，然后你用一个sql查询将url匹配的排在最前， title匹配的其次，body匹配最后，没有任何字段匹配的，不返回。 <br />
代码如下 <br />
<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;a.</span><span style="color: #ff0000">[</span><span style="color: #ff0000">id</span><span style="color: #ff0000">]</span><span style="color: #000000">,a.mark&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />(&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff0000">[</span><span style="color: #ff0000">page</span><span style="color: #ff0000">]</span><span style="color: #000000">.</span><span style="color: #ff0000">[</span><span style="color: #ff0000">id</span><span style="color: #ff0000">]</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">100</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">as</span><span style="color: #000000">&nbsp;mark&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;</span><span style="color: #ff0000">[</span><span style="color: #ff0000">page</span><span style="color: #ff0000">]</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;</span><span style="color: #ff0000">[</span><span style="color: #ff0000">page</span><span style="color: #ff0000">]</span><span style="color: #000000">.</span><span style="color: #ff0000">[</span><span style="color: #ff0000">url</span><span style="color: #ff0000">]</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">like</span><span style="color: #000000">&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">%baidu%</span><span style="color: #ff0000">'</span><span style="color: #000000">&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">union</span><span style="color: #000000">&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff0000">[</span><span style="color: #ff0000">page</span><span style="color: #ff0000">]</span><span style="color: #000000">.</span><span style="color: #ff0000">[</span><span style="color: #ff0000">id</span><span style="color: #ff0000">]</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">50</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">as</span><span style="color: #000000">&nbsp;mark&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;</span><span style="color: #ff0000">[</span><span style="color: #ff0000">page</span><span style="color: #ff0000">]</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;</span><span style="color: #ff0000">[</span><span style="color: #ff0000">page</span><span style="color: #ff0000">]</span><span style="color: #000000">.</span><span style="color: #ff0000">[</span><span style="color: #ff0000">title</span><span style="color: #ff0000">]</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">like</span><span style="color: #000000">&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">%baidu%</span><span style="color: #ff0000">'</span><span style="color: #000000">&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">union</span><span style="color: #000000">&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff0000">[</span><span style="color: #ff0000">page</span><span style="color: #ff0000">]</span><span style="color: #000000">.</span><span style="color: #ff0000">[</span><span style="color: #ff0000">id</span><span style="color: #ff0000">]</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">10</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">as</span><span style="color: #000000">&nbsp;mark&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;</span><span style="color: #ff0000">[</span><span style="color: #ff0000">page</span><span style="color: #ff0000">]</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;</span><span style="color: #ff0000">[</span><span style="color: #ff0000">page</span><span style="color: #ff0000">]</span><span style="color: #000000">.</span><span style="color: #ff0000">[</span><span style="color: #ff0000">body</span><span style="color: #ff0000">]</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">like</span><span style="color: #000000">&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">%baidu%</span><span style="color: #ff0000">'</span><span style="color: #000000">&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />)&nbsp;</span><span style="color: #0000ff">as</span><span style="color: #000000">&nbsp;a&nbsp;&nbsp;</span><span style="color: #0000ff">order</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">by</span><span style="color: #000000">&nbsp;mark&nbsp;</span><span style="color: #0000ff">desc</span><span style="color: #000000">&nbsp;&nbsp;</span></div>
<br />
<br />
用union 实现联合查询，在每个查询语句中定义一个临时变量mark 并给mark赋值，在最后的输出时采用mark来排序，这样实现，非常简单，我感觉这题更多考研我们的编程思想。 <br />
 <img src ="http://www.blogjava.net/Reg/aggbug/324290.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Reg/" target="_blank">艾波</a> 2010-06-24 00:43 <a href="http://www.blogjava.net/Reg/archive/2010/06/24/324290.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Oracle 游标总结+整理</title><link>http://www.blogjava.net/Reg/archive/2010/02/24/313823.html</link><dc:creator>艾波</dc:creator><author>艾波</author><pubDate>Wed, 24 Feb 2010 09:20:00 GMT</pubDate><guid>http://www.blogjava.net/Reg/archive/2010/02/24/313823.html</guid><wfw:comment>http://www.blogjava.net/Reg/comments/313823.html</wfw:comment><comments>http://www.blogjava.net/Reg/archive/2010/02/24/313823.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/Reg/comments/commentRss/313823.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Reg/services/trackbacks/313823.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 项目中需要使用到按规则生成序列号，开始的解决办法是根据条件取得最大ID号进行分解+1再合并的解决方案，后来发现如果两个客户同时操作的时候出现问题：添加的时候ID已经存在，原因是：A用户在访问取得第MAX(N)记录deID，但是还没有进行增加操作，这时，B用户也取得第MAX(N)记录deID，这是Ａ进行添加操作同时，Ｂ也同时进行添加操作，那么Ｂ用户就会保存失败，我们开始的时候采用的解决方案是：（枷锁）在程序的方法上枷锁，采用单线程操作，实施结果：失败，客户等待时间长，后来我们采用绑定数据库的方案：编写存储过程，虽然绑定不怎么方便，但是执行效率要快很多。由于时间问题，没有做序列自动创建功能，欢迎各位大虾进行指点和评论&nbsp;&nbsp;<a href='http://www.blogjava.net/Reg/archive/2010/02/24/313823.html'>阅读全文</a><img src ="http://www.blogjava.net/Reg/aggbug/313823.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Reg/" target="_blank">艾波</a> 2010-02-24 17:20 <a href="http://www.blogjava.net/Reg/archive/2010/02/24/313823.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Oracle SQL 查询不区分大小写解决方案(java) &lt;font color=red&gt;[贴]&lt;/font&gt;</title><link>http://www.blogjava.net/Reg/archive/2009/12/14/305913.html</link><dc:creator>艾波</dc:creator><author>艾波</author><pubDate>Mon, 14 Dec 2009 08:09:00 GMT</pubDate><guid>http://www.blogjava.net/Reg/archive/2009/12/14/305913.html</guid><wfw:comment>http://www.blogjava.net/Reg/comments/305913.html</wfw:comment><comments>http://www.blogjava.net/Reg/archive/2009/12/14/305913.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Reg/comments/commentRss/305913.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Reg/services/trackbacks/305913.html</trackback:ping><description><![CDATA[<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">*</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;tablename&nbsp;</span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">upper</span><span style="color: #000000">(ziduan)&nbsp;</span><span style="color: #808080">like</span><span style="color: #000000">&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">%"&nbsp;+&nbsp;ziduan.toUpperCase()&nbsp;+&nbsp;"%</span><span style="color: #ff0000">'</span><span style="color: #000000">"</span></div>
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><span style="color: #000000">sql&nbsp;</span><span style="color: #808080">+=</span><span style="color: #000000">&nbsp;"&nbsp;</span><span style="color: #808080">and</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">upper</span><span style="color: #000000">(t2.customer_name)&nbsp;</span><span style="color: #808080">like</span><span style="color: #000000">&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">%"&nbsp;+&nbsp;customerName.toUpperCase()&nbsp;+&nbsp;"%</span><span style="color: #ff0000">'</span><span style="color: #000000">";</span></div>
 <img src ="http://www.blogjava.net/Reg/aggbug/305913.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Reg/" target="_blank">艾波</a> 2009-12-14 16:09 <a href="http://www.blogjava.net/Reg/archive/2009/12/14/305913.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Oracle 随机记录&lt;font color=red&gt;新手晋级&lt;/font&gt;</title><link>http://www.blogjava.net/Reg/archive/2009/11/20/303044.html</link><dc:creator>艾波</dc:creator><author>艾波</author><pubDate>Fri, 20 Nov 2009 06:50:00 GMT</pubDate><guid>http://www.blogjava.net/Reg/archive/2009/11/20/303044.html</guid><wfw:comment>http://www.blogjava.net/Reg/comments/303044.html</wfw:comment><comments>http://www.blogjava.net/Reg/archive/2009/11/20/303044.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Reg/comments/commentRss/303044.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Reg/services/trackbacks/303044.html</trackback:ping><description><![CDATA[<span style="font-size: 12pt"><span style="color: #008000"><span style="font-size: 12pt"><strong>--查询一条随机数上来</strong></span></span><br />
<br />
<span style="color: #008000">select * from tablename where t_id=(select trunc(dbms_random.value(min(条件),max(条件))) from tablename;</span><br />
<br />
<span style="color: #0000ff">select * from dept where did=(select trunc(dbms_random.value(min(rownum),max(rownum))) from dept);</span><br />
<br />
<span style="color: #008000"><strong>--查询N条随机记录上来</strong></span><br />
<br />
<span style="color: #008000">select * frmo (select * from tablename order by sys_guid()) where rownum&lt;N</span><br />
<br />
<span style="color: #0000ff">select * from (select * from dept order by sys_guid()) where rownum &lt; 5;</span><br />
<span style="color: #008000"><br />
<strong>--查询出表中X条中从N到M条特定记录上来（分页查询）</strong></span><br />
<br />
<span style="color: #008000">select * from (select rownum r,t.* from tablename t where rownum&lt;X) ss where ss.r&gt;N and ss.r &lt;=M</span><br />
<br />
<span style="color: #0000ff">select * from (select rownum r, t.* from dept t where rownum&lt;6) ss where ss.r &gt; 2 and ss.r &lt;= 10</span></span>
 <img src ="http://www.blogjava.net/Reg/aggbug/303044.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Reg/" target="_blank">艾波</a> 2009-11-20 14:50 <a href="http://www.blogjava.net/Reg/archive/2009/11/20/303044.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>替换like，使sql语句更有效率&lt;font color=red&gt;【转】&lt;/font&gt;</title><link>http://www.blogjava.net/Reg/archive/2009/11/18/302828.html</link><dc:creator>艾波</dc:creator><author>艾波</author><pubDate>Wed, 18 Nov 2009 10:04:00 GMT</pubDate><guid>http://www.blogjava.net/Reg/archive/2009/11/18/302828.html</guid><wfw:comment>http://www.blogjava.net/Reg/comments/302828.html</wfw:comment><comments>http://www.blogjava.net/Reg/archive/2009/11/18/302828.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/Reg/comments/commentRss/302828.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Reg/services/trackbacks/302828.html</trackback:ping><description><![CDATA[<p>&nbsp;</p>
<fieldset style="width: 825px; height: 707px"><legend style="font-family: 微软雅黑">替换like，使sql语句更有效率</legend><br />
<p>提到Like语句大家都很熟悉，比如查找用户名包含有"c"的所有用户, 我们可以用 <br />
</p>
<div style="border-bottom: #666666 1px solid; border-left: #666666 1px solid; border-top: #666666 1px solid; border-right: #666666 1px solid">use mydatabase <br />
select * from table1 where username like'%c%"</div>
<p>以下是完成上面功能的另一种写法:</p>
<div style="border-bottom: #666666 1px solid; border-left: #666666 1px solid; border-top: #666666 1px solid; border-right: #666666 1px solid">use&nbsp;mydatabase <br />
select&nbsp;*&nbsp;from&nbsp;table1&nbsp;where&nbsp;charindex('c',username)&gt;0</div>
<p>这种方法理论上比上一种方法多了一个判断语句,即&gt;0, 但这个判断过程是最快的, 我相信80%以上的运算都是花在查找字符串及其它的运算上, 所以运用charindex函数也没什么大不了。用这种方法也有好处, 那就是对%,|等在不能直接用like 查找到的字符中可以直接在这charindex中运用, 如下:<br />
</p>
<div style="border-bottom: #666666 1px solid; border-left: #666666 1px solid; border-top: #666666 1px solid; border-right: #666666 1px solid">use&nbsp;mydatabase <br />
select&nbsp;*&nbsp;from&nbsp;table1&nbsp;where&nbsp;charindex('%',username)&gt;0</div>
<p>大家还可以写成:</p>
<p>&nbsp;</p>
<div style="border-bottom: #666666 1px solid; border-left: #666666 1px solid; border-top: #666666 1px solid; border-right: #666666 1px solid">use&nbsp;mydatabase <br />
select&nbsp;*&nbsp;from&nbsp;table1&nbsp;where&nbsp;charindex(char(37),username)&gt;0</div>
<p>ASCII的字符即为%</p>
</fieldset> 
 <img src ="http://www.blogjava.net/Reg/aggbug/302828.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Reg/" target="_blank">艾波</a> 2009-11-18 18:04 <a href="http://www.blogjava.net/Reg/archive/2009/11/18/302828.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ORACLE查询树型关系&lt;font color=#F1AF03&gt;(start with connect by prior)&lt;/font&gt;&lt;font color=red&gt;【转】&lt;/font&gt;</title><link>http://www.blogjava.net/Reg/archive/2009/11/18/302826.html</link><dc:creator>艾波</dc:creator><author>艾波</author><pubDate>Wed, 18 Nov 2009 10:00:00 GMT</pubDate><guid>http://www.blogjava.net/Reg/archive/2009/11/18/302826.html</guid><wfw:comment>http://www.blogjava.net/Reg/comments/302826.html</wfw:comment><comments>http://www.blogjava.net/Reg/archive/2009/11/18/302826.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Reg/comments/commentRss/302826.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Reg/services/trackbacks/302826.html</trackback:ping><description><![CDATA[<p>&nbsp;</p>
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 89.12%; padding-right: 5px; height: 2680px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><span style="color: #000000">oracle中的select语句可以用START&nbsp;WITH<img alt="" src="http://www.blogjava.net/Images/dot.gif" />CONNECT&nbsp;BY&nbsp;PRIOR子句实现递归查询，connect&nbsp;by&nbsp;是结构化查询中用到的，其基本语法是：&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />select&nbsp;</span><span style="color: #000000">*</span><span style="color: #000000">&nbsp;from&nbsp;tablename&nbsp;start&nbsp;with&nbsp;cond1&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />connect&nbsp;by&nbsp;cond2&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />where&nbsp;cond3;&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />简单说来是将一个树状结构存储在一张表里，比如一个表中存在两个字段:&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />id,parentid那么通过表示每一条记录的parent是谁，就可以形成一个树状结构。&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />用上述语法的查询可以取得这棵树的所有记录。&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />其中COND1是根结点的限定语句，当然可以放宽限定条件，以取得多个根结点，实际就是多棵树。&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />COND2是连接条件，其中用PRIOR表示上一条记录，比如&nbsp;CONNECT&nbsp;BY&nbsp;PRIOR&nbsp;ID</span><span style="color: #000000">=</span><span style="color: #000000">PRAENTID就是说上一条记录的ID是本条记录的PRAENTID，即本记录的父亲是上一条记录。&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />COND3是过滤条件，用于对返回的所有记录进行过滤。&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />对于oracle进行简单树查询(递归查询)&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />DEPTID&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NUMBER&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;部门id&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />PAREDEPTID&nbsp;&nbsp;&nbsp;NUMBER&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;父部门id(所属部门id)&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />NAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CHAR&nbsp;(</span><span style="color: #000000">40</span><span style="color: #000000">&nbsp;Byte)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;部门名称&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />通过子节点向根节点追朔.&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />select&nbsp;</span><span style="color: #000000">*</span><span style="color: #000000">&nbsp;from&nbsp;persons.dept&nbsp;start&nbsp;with&nbsp;deptid</span><span style="color: #000000">=</span><span style="color: #000000">76</span><span style="color: #000000">&nbsp;connect&nbsp;by&nbsp;prior&nbsp;paredeptid</span><span style="color: #000000">=</span><span style="color: #000000">deptid<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />通过根节点遍历子节点.&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />select&nbsp;</span><span style="color: #000000">*</span><span style="color: #000000">&nbsp;from&nbsp;persons.dept&nbsp;start&nbsp;with&nbsp;paredeptid</span><span style="color: #000000">=</span><span style="color: #000000">0</span><span style="color: #000000">&nbsp;connect&nbsp;by&nbsp;prior&nbsp;deptid</span><span style="color: #000000">=</span><span style="color: #000000">paredeptid<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />可通过level&nbsp;关键字查询所在层次.&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />select&nbsp;a.</span><span style="color: #000000">*</span><span style="color: #000000">,level&nbsp;from&nbsp;persons.dept&nbsp;a&nbsp;start&nbsp;with&nbsp;paredeptid</span><span style="color: #000000">=</span><span style="color: #000000">0</span><span style="color: #000000">&nbsp;connect&nbsp;by&nbsp;prior&nbsp;deptid</span><span style="color: #000000">=</span><span style="color: #000000">paredeptid<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />PS：start&nbsp;with&nbsp;后面所跟的就是就是递归的种子，也就是递归开始的地方；<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />connect&nbsp;by&nbsp;&nbsp;prior后面的字段顺序是有讲究的；&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />若prior缺省：则只能查询到符合条件的起始行，并不进行递归查询；&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;例：&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />select&nbsp;</span><span style="color: #000000">*</span><span style="color: #000000">&nbsp;from&nbsp;table<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />start&nbsp;with&nbsp;org_id&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">'</span><span style="color: #000000">HBHqfWGWPy</span><span style="color: #000000">'</span><span style="color: #000000">&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />connect&nbsp;by&nbsp;prior&nbsp;org_id&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;parent_id;&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />简单说来是将一个树状结构存储在一张表里，比如一个表中存在两个字段:&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />org_id,parent_id那么通过表示每一条记录的parent是谁，就可以形成一个树状结构。&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />用上述语法的查询可以取得这棵树的所有记录。&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />其中：&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />条件1&nbsp;是根结点的限定语句，当然可以放宽限定条件，以取得多个根结点，实际就是多棵树。&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />条件2&nbsp;是连接条件，其中用PRIOR表示上一条记录，&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />比如&nbsp;CONNECT&nbsp;BY&nbsp;PRIOR&nbsp;org_id&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;parent_id就是说上一条记录的org_id&nbsp;是本条记录的parent_id，即本记录的父亲是上一条记录。&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />条件3&nbsp;是过滤条件，用于对返回的所有记录进行过滤。&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />简单介绍如下：&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />在扫描树结构表时，需要依此访问树结构的每个节点，一个节点只能访问一次，其访问的步骤如下：&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />第一步：从根节点开始；&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />第二步：访问该节点；&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />第三步：判断该节点有无未被访问的子节点，若有，则转向它最左侧的未被访问的子节点，并执行第二步，否则执行第四步；&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />第四步：若该节点为根节点，则访问完毕，否则执行第五步；&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />第五步：返回到该节点的父节点，并执行第三步骤。&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />总之：扫描整个树结构的过程也即是中序遍历树的过程。&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /></span><span style="color: #000000">1</span><span style="color: #000000">．&nbsp;树结构的描述&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />树结构的数据存放在表中，数据之间的层次关系即父子关系，通过表中的列与列间的关系来描述，如&nbsp;EMP&nbsp;表中的&nbsp;EMPNO&nbsp;和&nbsp;MGR&nbsp;。&nbsp;EMPNO&nbsp;表示该雇员的编号，&nbsp;MGR&nbsp;表示领导该雇员的人的编号，即子节点的&nbsp;MGR&nbsp;值等于父节点的&nbsp;EMPNO&nbsp;值。在表的每一行中都有一个表示父节点的&nbsp;MGR&nbsp;（除根节点外），通过每个节点的父节点，就可以确定整个树结构。&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />在&nbsp;SELECT&nbsp;命令中使用&nbsp;CONNECT&nbsp;BY&nbsp;和&nbsp;START&nbsp;WITH&nbsp;子句可以查询表中的树型结构关系。其命令格式如下：&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />SELECT&nbsp;。。。&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img id="Codehighlighter1_1987_2021_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1987_2021_Open_Text.style.display='none'; Codehighlighter1_1987_2021_Closed_Image.style.display='inline'; Codehighlighter1_1987_2021_Closed_Text.style.display='inline';" alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" /><img style="display: none" id="Codehighlighter1_1987_2021_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_1987_2021_Closed_Text.style.display='none'; Codehighlighter1_1987_2021_Open_Image.style.display='inline'; Codehighlighter1_1987_2021_Open_Text.style.display='inline';" alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" />CONNECT&nbsp;BY&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_1987_2021_Closed_Text"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_1987_2021_Open_Text"><span style="color: #000000">{PRIOR&nbsp;列名&nbsp;</span><span style="color: #000000">1</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;列名&nbsp;</span><span style="color: #000000">2</span><span style="color: #000000">|</span><span style="color: #000000">&nbsp;列名&nbsp;</span><span style="color: #000000">1</span><span style="color: #000000">=</span><span style="color: #000000">PRIOR&nbsp;裂名&nbsp;</span><span style="color: #000000">2</span><span style="color: #000000">}</span></span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />[START&nbsp;WITH]&nbsp;；&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />其中：&nbsp;CONNECT&nbsp;BY&nbsp;子句说明每行数据将是按层次顺序检索，并规定将表中的数据连入树型结构的关系中。&nbsp;PRIORY&nbsp;运算符必须放置在连接关系的两列中某一个的前面。对于节点间的父子关系，&nbsp;PRIOR&nbsp;运算符在一侧表示父节点，在另一侧表示子节点，从而确定查找树结构是的顺序是自顶向下还是自底向上。在连接关系中，除了可以使用列名外，还允许使用列表达式。&nbsp;START&nbsp;WITH&nbsp;子句为可选项，用来标识哪个节点作为查找树型结构的根节点。若该子句被省略，则表示所有满足查询条件的行作为根节点。&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />START&nbsp;WITH：&nbsp;不但可以指定一个根节点，还可以指定多个根节点。&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /></span><span style="color: #000000">2</span><span style="color: #000000">．&nbsp;关于&nbsp;PRIOR<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />运算符&nbsp;PRIOR&nbsp;被放置于等号前后的位置，决定着查询时的检索顺序。&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />PRIOR&nbsp;被置于&nbsp;CONNECT&nbsp;BY&nbsp;子句中等号的前面时，则强制从根节点到叶节点的顺序检索，即由父节点向子节点方向通过树结构，我们称之为自顶向下&nbsp;的方式。如：&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />CONNECT&nbsp;BY&nbsp;PRIOR&nbsp;EMPNO</span><span style="color: #000000">=</span><span style="color: #000000">MGR&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />PIROR&nbsp;运算符被置于&nbsp;CONNECT&nbsp;BY&nbsp;子句中等号的后面时，则强制从叶节点到根节点的顺序检索，即由子节点向父节点方向通过树结构，我们称之为自底向上&nbsp;的方式。例如：&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />CONNECT&nbsp;BY&nbsp;EMPNO</span><span style="color: #000000">=</span><span style="color: #000000">PRIOR&nbsp;MGR&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />在这种方式中也应指定一个开始的节点。&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /></span><span style="color: #000000">3</span><span style="color: #000000">．&nbsp;定义查找起始节点&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />在自顶向下查询树结构时，不但可以从根节点开始，还可以定义任何节点为起始节点，以此开始向下查找。这样查找的结果就是以该节点为开始的结构树的一枝。&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /></span><span style="color: #000000">4</span><span style="color: #000000">．使用&nbsp;LEVEL<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />在具有树结构的表中，每一行数据都是树结构中的一个节点，由于节点所处的层次位置不同，所以每行记录都可以有一个层号。层号根据节点与根节点的距离确定。不论从哪个节点开始，该起始根节点的层号始终为&nbsp;</span><span style="color: #000000">1</span><span style="color: #000000">&nbsp;，根节点的子节点为&nbsp;</span><span style="color: #000000">2</span><span style="color: #000000">&nbsp;，&nbsp;依此类推。&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /></span><span style="color: #000000">5</span><span style="color: #000000">．节点和分支的裁剪&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />在对树结构进行查询时，可以去掉表中的某些行，也可以剪掉树中的一个分支，使用&nbsp;WHERE&nbsp;子句来限定树型结构中的单个节点，以去掉树中的单个节点，但它却不影响其后代节点（自顶向下检索时）或前辈节点（自底向顶检索时）。&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /></span><span style="color: #000000">6</span><span style="color: #000000">．排序显示&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />象在其它查询中一样，在树结构查询中也可以使用&nbsp;ORDER&nbsp;BY&nbsp;子句，改变查询结果的显示顺序，而不必按照遍历树结构的顺序。&nbsp;</span></div>
 <img src ="http://www.blogjava.net/Reg/aggbug/302826.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Reg/" target="_blank">艾波</a> 2009-11-18 18:00 <a href="http://www.blogjava.net/Reg/archive/2009/11/18/302826.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>