﻿<?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-黄小二的讀書筆記-文章分类-MySQL</title><link>http://www.blogjava.net/kiant/category/39360.html</link><description>有才而性缓定属大才，有智而气和斯为大智。人偏狭我受之以宽容，人险仄我持之以坦荡。缓事宜急干，敏则有功；急事宜缓办，忙则多措。
--李叔同</description><language>zh-cn</language><lastBuildDate>Sat, 10 Apr 2010 19:37:28 GMT</lastBuildDate><pubDate>Sat, 10 Apr 2010 19:37:28 GMT</pubDate><ttl>60</ttl><item><title>SQL Server、MySQL和 Oracle的行合并</title><link>http://www.blogjava.net/kiant/articles/317866.html</link><dc:creator>黄小二</dc:creator><author>黄小二</author><pubDate>Fri, 09 Apr 2010 08:24:00 GMT</pubDate><guid>http://www.blogjava.net/kiant/articles/317866.html</guid><wfw:comment>http://www.blogjava.net/kiant/comments/317866.html</wfw:comment><comments>http://www.blogjava.net/kiant/articles/317866.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kiant/comments/commentRss/317866.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kiant/services/trackbacks/317866.html</trackback:ping><description><![CDATA[<br />
内容引自：<br />
多行一列数据合并成一行一列数据<br />
http://topic.csdn.net/u/20090714/17/5FE6A0F7-CE78-4936-BE31-21D462236059.html<br />
<br />
在MySQL和Oracle中实现行合并 <br />
http://www.blogjava.net/rain1102/archive/2009/06/24/283867.html<br />
<br />
<br />
SQL Server<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"><span style="color: #008080">--</span><span style="color: #008080">SQL2005中的方法2&nbsp;</span><span style="color: #008080"><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;tb(id&nbsp;</span><span style="font-weight: bold; color: #000000">int</span><span style="color: #000000">,&nbsp;value&nbsp;</span><span style="font-weight: bold; color: #000000">varchar</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">10</span><span style="color: #000000">))&nbsp;<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;tb&nbsp;</span><span style="color: #0000ff">values</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">aa</span><span style="color: #ff0000">'</span><span style="color: #000000">)&nbsp;<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;tb&nbsp;</span><span style="color: #0000ff">values</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">bb</span><span style="color: #ff0000">'</span><span style="color: #000000">)&nbsp;<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;tb&nbsp;</span><span style="color: #0000ff">values</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">2</span><span style="color: #000000">,&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">aaa</span><span style="color: #ff0000">'</span><span style="color: #000000">)&nbsp;<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;tb&nbsp;</span><span style="color: #0000ff">values</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">2</span><span style="color: #000000">,&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">bbb</span><span style="color: #ff0000">'</span><span style="color: #000000">)&nbsp;<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;tb&nbsp;</span><span style="color: #0000ff">values</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">2</span><span style="color: #000000">,&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">ccc</span><span style="color: #ff0000">'</span><span style="color: #000000">)&nbsp;<br />
</span><span style="color: #0000ff">go</span><span style="color: #000000">&nbsp;<br />
<br />
</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;id,&nbsp;</span><span style="color: #ff0000">[</span><span style="color: #ff0000">values</span><span style="color: #ff0000">]</span><span style="color: #808080">=</span><span style="color: #ff00ff">stuff</span><span style="color: #000000">((</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">,</span><span style="color: #ff0000">'</span><span style="color: #808080">+</span><span style="color: #ff0000">[</span><span style="color: #ff0000">value</span><span style="color: #ff0000">]</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;tb&nbsp;t&nbsp;</span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;id</span><span style="color: #808080">=</span><span style="color: #000000">tb.id&nbsp;<br />
</span><span style="color: #0000ff">for</span><span style="color: #000000">&nbsp;xml&nbsp;path(</span><span style="color: #ff0000">''</span><span style="color: #000000">)),&nbsp;</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,&nbsp;</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,&nbsp;</span><span style="color: #ff0000">''</span><span style="color: #000000">)&nbsp;<br />
</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;tb&nbsp;<br />
</span><span style="color: #0000ff">group</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">by</span><span style="color: #000000">&nbsp;id&nbsp;<br />
<br />
</span><span style="color: #008080">/*</span><span style="color: #008080">&nbsp;<br />
id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;values&nbsp;<br />
-----------&nbsp;--------------------&nbsp;<br />
1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;aa,bb&nbsp;<br />
2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;aaa,bbb,ccc&nbsp;<br />
<br />
(2&nbsp;row(s)&nbsp;affected)&nbsp;<br />
<br />
</span><span style="color: #008080">*/</span><span style="color: #000000">&nbsp;<br />
<br />
</span><span style="color: #0000ff">drop</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">table</span><span style="color: #000000">&nbsp;tb&nbsp;<br />
</span></div>
<br />
<br />
MySQL<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"><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;name&nbsp;,&nbsp;group_concat(email&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;email&nbsp;separator&nbsp;",&nbsp;")&nbsp;</span><span style="color: #0000ff">as</span><span style="color: #000000">&nbsp;email&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;student&nbsp;</span><span style="color: #0000ff">group</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">by</span><span style="color: #000000">&nbsp;name</span></div>
<br />
<br />
Oracle<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"><span style="color: #000000">如果以上效果想在Oracle中显示,&nbsp;则比较复杂点了,&nbsp;因为Oracle中没有行合并函数,&nbsp;则需要使用sys_connect_by_path()来实现,&nbsp;代码如下:<br />
</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;name,&nbsp;</span><span style="color: #ff00ff">ltrim</span><span style="color: #000000">(sys_connect_by_path(email,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">,</span><span style="color: #ff0000">'</span><span style="color: #000000">),</span><span style="color: #ff0000">'</span><span style="color: #ff0000">,</span><span style="color: #ff0000">'</span><span style="color: #000000">)&nbsp;email&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">(<br />
</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;name,email,<br />
row_number()&nbsp;</span><span style="color: #0000ff">over</span><span style="color: #000000">(partition&nbsp;</span><span style="color: #0000ff">by</span><span style="color: #000000">&nbsp;name&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;email)&nbsp;rn,<br />
</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">over</span><span style="color: #000000">(partition&nbsp;</span><span style="color: #0000ff">by</span><span style="color: #000000">&nbsp;name)&nbsp;cnt<br />
</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;student&nbsp;<br />
)&nbsp;</span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">level</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;cnt<br />
start&nbsp;</span><span style="color: #0000ff">with</span><span style="color: #000000">&nbsp;rn&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000"><br />
connect&nbsp;</span><span style="color: #0000ff">by</span><span style="color: #000000">&nbsp;prior&nbsp;name&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;name&nbsp;</span><span style="color: #808080">and</span><span style="color: #000000">&nbsp;prior&nbsp;rn&nbsp;</span><span style="color: #808080">+</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;rn&nbsp;</span></div>
<img src ="http://www.blogjava.net/kiant/aggbug/317866.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kiant/" target="_blank">黄小二</a> 2010-04-09 16:24 <a href="http://www.blogjava.net/kiant/articles/317866.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>标量子查询</title><link>http://www.blogjava.net/kiant/articles/286847.html</link><dc:creator>黄小二</dc:creator><author>黄小二</author><pubDate>Wed, 15 Jul 2009 04:47:00 GMT</pubDate><guid>http://www.blogjava.net/kiant/articles/286847.html</guid><wfw:comment>http://www.blogjava.net/kiant/comments/286847.html</wfw:comment><comments>http://www.blogjava.net/kiant/articles/286847.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kiant/comments/commentRss/286847.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kiant/services/trackbacks/286847.html</trackback:ping><description><![CDATA[<br />
<fieldset><legend>引用: 标量子查询</legend>
<p>一个标量子查询是一个放在圆括弧里的普通 SELECT查询， 它只返回只有一个字段的一行．（参阅 Chapter 4 获取有关写查询的信息。） 该 SELECT 将被执行， 而其单个返回值将在周围的值表达式中使用． 把一个返回超过一行或者超过一列的查询用做标量查询是错误的． (不过，在特定的执行中，子查询不返回行则不算错误；标量结果认为是 NULL．)该子查询可以引用周围查询的变量， 那些变量也是在计算任意子查询的时候当做常量使用的． 又见 Section 6.15． </p>
<p>比如，下面的查询找出每个州中的最大人口数量的城市∶ </p>
<p>SELECT name, (SELECT max(pop) FROM cities WHERE cities.state = states.name)<br />
FROM states;</p>
</fieldset><br />
<br />
<a href="http://www.wang48.com/jishubaodianview/?jsd_id=13064" target="_blank">子查询作为标量操作数--MySql数据库</a><br />
ps: 这种方法的只能查询单一值<br />
<br />
<a href="http://www.cnblogs.com/zping/archive/2008/10/19/1314685.html" target="_blank">《Oracle 高效设计》 读书思考--标量子查询查询性能讨论 </a><br />
能提供不少思路<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;&nbsp;&nbsp;&nbsp;&nbsp;n.ex_name,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c.customer_name,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;n.remark,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.employee_name&nbsp;</span><span style="color: #0000ff">as</span><span style="color: #000000">&nbsp;create_name,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;n.create_user,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;n.project_id,&nbsp;&nbsp;&nbsp;n.id&nbsp;</span><span style="color: #0000ff">as</span><span style="color: #000000">&nbsp;node_id,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;n.model_id,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;n.</span><span style="color: #ff00ff">file_id</span><span style="color: #000000">,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.grade_name&nbsp;</span><span style="color: #0000ff">as</span><span style="color: #000000">&nbsp;level_name,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t.type&nbsp;</span><span style="color: #0000ff">as</span><span style="color: #000000">&nbsp;type_name,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exe.exe_ids,&nbsp;&nbsp;exe.exe_names,&nbsp;&nbsp;&nbsp;&nbsp;dept.dept_ids,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dept.dept_names,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #ff00ff">Convert</span><span style="color: #000000">(DATE_FORMAT(pn.node_end_time,&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">%Y年%c月%e日</span><span style="color: #ff0000">'</span><span style="color: #000000">)&nbsp;USING&nbsp;utf8)&nbsp;</span><span style="color: #0000ff">as</span><span style="color: #000000">&nbsp;end_time&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hrp_project_execution&nbsp;n&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #ff00ff">left</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">join</span><span style="color: #000000">&nbsp;hrp_cycle_grade&nbsp;g&nbsp;</span><span style="color: #0000ff">on</span><span style="color: #000000">&nbsp;g.id&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;n.worklevel&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #ff00ff">left</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">join</span><span style="color: #000000">&nbsp;hrp_work_type&nbsp;t&nbsp;</span><span style="color: #0000ff">on</span><span style="color: #000000">&nbsp;t.id&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;n.worktype&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #ff00ff">left</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">join</span><span style="color: #000000">&nbsp;hrp_customer&nbsp;c&nbsp;</span><span style="color: #0000ff">on</span><span style="color: #000000">&nbsp;c.id&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;n.customer_id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #ff00ff">left</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">join</span><span style="color: #000000">&nbsp;hrp_company_employee_info&nbsp;e&nbsp;</span><span style="color: #0000ff">on</span><span style="color: #000000">&nbsp;e.id&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;n.create_user&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #ff00ff">left</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">join</span><span style="color: #000000">&nbsp;hrp_project_node&nbsp;pn&nbsp;</span><span style="color: #0000ff">on</span><span style="color: #000000">&nbsp;pn.id&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;n.node_id<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #ff00ff">left</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">join</span><span style="color: #000000">&nbsp;(</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;ne.execution_id,&nbsp;</span><span style="color: #ff00ff">Convert</span><span style="color: #000000">(GROUP_CONCAT(ne.executor_id)&nbsp;USING&nbsp;utf8)&nbsp;</span><span style="color: #0000ff">as</span><span style="color: #000000">&nbsp;exe_ids,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GROUP_CONCAT(e.employee_name)&nbsp;</span><span style="color: #0000ff">as</span><span style="color: #000000">&nbsp;exe_names&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;&nbsp;hrp_project_execution_executor&nbsp;ne&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">inner</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">join</span><span style="color: #000000">&nbsp;hrp_company_employee_info&nbsp;e&nbsp;</span><span style="color: #0000ff">on</span><span style="color: #000000">&nbsp;e.id&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;ne.executor_id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;ne.delete_flag&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">and</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;ne.execution_id&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #800000">46</span><span style="color: #000000">&nbsp;&nbsp;</span><span style="color: #0000ff">group</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">by</span><span style="color: #000000">&nbsp;ne.execution_id&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)&nbsp;exe&nbsp;</span><span style="color: #0000ff">on</span><span style="color: #000000">&nbsp;exe.execution_id&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;n.id<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #ff00ff">left</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">join</span><span style="color: #000000">&nbsp;(</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;de.exectuion_id,&nbsp;</span><span style="color: #ff00ff">Convert</span><span style="color: #000000">(GROUP_CONCAT(de.deptor_id)&nbsp;USING&nbsp;utf8)&nbsp;</span><span style="color: #0000ff">as</span><span style="color: #000000">&nbsp;dept_ids,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GROUP_CONCAT(e.employee_name)&nbsp;</span><span style="color: #0000ff">as</span><span style="color: #000000">&nbsp;dept_names&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;&nbsp;hrp_project_execution_deptor&nbsp;de&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">inner</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">join</span><span style="color: #000000">&nbsp;hrp_company_employee_info&nbsp;e&nbsp;</span><span style="color: #0000ff">on</span><span style="color: #000000">&nbsp;e.id&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;de.deptor_id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;de.delete_flag&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">and</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;de.exectuion_id&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #800000">46</span><span style="color: #000000">&nbsp;&nbsp;</span><span style="color: #0000ff">group</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">by</span><span style="color: #000000">&nbsp;de.exectuion_id<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)&nbsp;dept&nbsp;</span><span style="color: #0000ff">on</span><span style="color: #000000">&nbsp;dept.exectuion_id&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;n.id<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;n.id&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #800000">46</span></div>
<span style="font-size: 8pt"><em>ps. 自己写的部分, 东西镶嵌在 left join 部分</em></span>
<img src ="http://www.blogjava.net/kiant/aggbug/286847.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kiant/" target="_blank">黄小二</a> 2009-07-15 12:47 <a href="http://www.blogjava.net/kiant/articles/286847.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>mysql时间字段的格式与编码转换, C#下 xml 存储时间数据的临时解决方案</title><link>http://www.blogjava.net/kiant/articles/286217.html</link><dc:creator>黄小二</dc:creator><author>黄小二</author><pubDate>Fri, 10 Jul 2009 04:08:00 GMT</pubDate><guid>http://www.blogjava.net/kiant/articles/286217.html</guid><wfw:comment>http://www.blogjava.net/kiant/comments/286217.html</wfw:comment><comments>http://www.blogjava.net/kiant/articles/286217.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kiant/comments/commentRss/286217.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kiant/services/trackbacks/286217.html</trackback:ping><description><![CDATA[<p>因为 C#里调用 Dataset内置方法 GetXml()生成的 xml字符串是无 XMLSchema架构的<br />
其生成的&nbsp;xml字符串里时间格式是以 "<span class="tx">2009-07-07T14:58:27+08:00" 存放的<br />
<br />
<br />
在接收端解析的时候 如果没有 XMLSchema架构的注释&nbsp;&nbsp;<br />
<span class="m">&lt;</span><span class="t">xs:element</span> <span class="t">name</span><span class="m">="</span><strong>dept_createtime</strong><span class="m">"</span><span class="t"> type</span><span class="m">="</span><strong>xs:dateTime</strong><span class="m">"</span><span class="t"> minOccurs</span><span class="m">="</span><strong>0</strong><span class="m">"</span><span class="m"> /&gt;</span> <br />
xml 数据 "<span class="tx">2009-07-07T14:58:27+08:00" 会以默认的字符方式进行解析<br />
<br />
<br />
所以在项目里我的解决方法是在利用 sql语句查询时就生成特定的字符串格式</span></span></p>
Convert( DATE_FORMAT(n.node_begin_time, '%Y.%c.%e') using utf8) as begin_time <br />
//先利用 DATE_FORMAT()函数进行样式格式化<br />
//在利用 Convert() 函数进行编码转换, 以生成 C#字符串编码方式, 否则会出现在数据库能正常显示, 在 C#查询出来却成为 System.Byte[]<br />
<br />
<br />
参考文章:<br />
<a href="http://www.dw10.com/wordpress/archives/149" target="_blank">MySQL利用DATE_FORMAT()函数完成字符串到时间类型的转换，时间的格式化</a><br /><img src ="http://www.blogjava.net/kiant/aggbug/286217.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kiant/" target="_blank">黄小二</a> 2009-07-10 12:08 <a href="http://www.blogjava.net/kiant/articles/286217.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一个关于 联合查询union 和排序order by 的例子</title><link>http://www.blogjava.net/kiant/articles/284131.html</link><dc:creator>黄小二</dc:creator><author>黄小二</author><pubDate>Thu, 25 Jun 2009 08:27:00 GMT</pubDate><guid>http://www.blogjava.net/kiant/articles/284131.html</guid><wfw:comment>http://www.blogjava.net/kiant/comments/284131.html</wfw:comment><comments>http://www.blogjava.net/kiant/articles/284131.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kiant/comments/commentRss/284131.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kiant/services/trackbacks/284131.html</trackback:ping><description><![CDATA[其实还有更简单的方法
<fieldset><legend>Title</legend>
<p>还可以把个别的select命令用圆括号，这样，可以对每次查询以及最终结果做出limit和order by 设置。</p>
<p>(select * from tbl1 order by colA limit 10) union (select * from tbl2 order by colA limit 10) order by </p>
<p>coltimestamp limit 5</p>
</fieldset><br />
<br />
<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 alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #808080">//</span><span style="color: #000000">查询有效期内的计划任务节点<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string&nbsp;sql&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;"</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.grade_name,&nbsp;&nbsp;&nbsp;"<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">+</span><span style="color: #000000">&nbsp;"&nbsp;</span><span style="color: #ff0000">''</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">as</span><span style="color: #000000">&nbsp;degree_name,"<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">+</span><span style="color: #000000">&nbsp;"&nbsp;</span><span style="color: #ff0000">''</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">as</span><span style="color: #000000">&nbsp;reason,&nbsp;"<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">+</span><span style="color: #000000">&nbsp;"&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">project_node</span><span style="color: #ff0000">'</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">as</span><span style="color: #000000">&nbsp;node_type,&nbsp;"<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">+</span><span style="color: #000000">&nbsp;"&nbsp;</span><span style="color: #ff0000">''</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">as</span><span style="color: #000000">&nbsp;fact_node_name,&nbsp;"<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">+</span><span style="color: #000000">&nbsp;"&nbsp;p.create_time,&nbsp;"<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">+</span><span style="color: #000000">&nbsp;"&nbsp;&nbsp;&nbsp;&nbsp;p.id,&nbsp;&nbsp;&nbsp;&nbsp;p.project_id,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p.node_name,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p.deptids,"<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">+</span><span style="color: #000000">&nbsp;"&nbsp;&nbsp;&nbsp;&nbsp;p.node_begin_time,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p.node_end_time,&nbsp;&nbsp;&nbsp;&nbsp;p.worklevel"<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">+</span><span style="color: #000000">&nbsp;"&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hrp_project_node&nbsp;p&nbsp;"<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">+</span><span style="color: #000000">&nbsp;"&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #ff00ff">left</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">join</span><span style="color: #000000">&nbsp;hrp_cycle_grade&nbsp;g&nbsp;</span><span style="color: #0000ff">on</span><span style="color: #000000">&nbsp;g.id&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;p.worklevel&nbsp;"<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">+</span><span style="color: #000000">&nbsp;"&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;p.state&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">&nbsp;&nbsp;</span><span style="color: #808080">and</span><span style="color: #000000">&nbsp;&nbsp;p.node_state&nbsp;</span><span style="color: #808080">&lt;&gt;</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #800000">3</span><span style="color: #000000">&nbsp;"<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&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;UNIX_TIMESTAMP(p.node_begin_time)&nbsp;</span><span style="color: #808080">&lt;</span><span style="color: #000000">&nbsp;UNIX_TIMESTAMP(</span><span style="color: #ff0000">'</span><span style="color: #ff0000">"&nbsp;+&nbsp;DateTime.Now.ToString()&nbsp;+&nbsp;"</span><span style="color: #ff0000">'</span><span style="color: #000000">)&nbsp;"<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">//</span><span style="color: #000000">优先查出所有<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&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;UNIX_TIMESTAMP(p.node_end_time)&nbsp;</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;UNIX_TIMESTAMP(</span><span style="color: #ff0000">'</span><span style="color: #ff0000">"&nbsp;+&nbsp;DateTime.Now.ToString("yyyy-MM-dd&nbsp;HH:mm:ss")&nbsp;+&nbsp;"</span><span style="color: #ff0000">'</span><span style="color: #000000">)&nbsp;"<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&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;(p.exeids&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;userId&nbsp;+&nbsp;"%</span><span style="color: #ff0000">'</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">or</span><span style="color: #000000">&nbsp;p.exeids&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;userId&nbsp;+&nbsp;"%</span><span style="color: #ff0000">'</span><span style="color: #000000">)&nbsp;";<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">//</span><span style="color: #000000">合并还未执行的任务节点<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sql&nbsp;</span><span style="color: #808080">+=</span><span style="color: #000000">&nbsp;"&nbsp;</span><span style="color: #0000ff">union</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">all</span><span style="color: #000000">&nbsp;"<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">+</span><span style="color: #000000">&nbsp;"&nbsp;</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.grade_name,&nbsp;&nbsp;&nbsp;"<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">+</span><span style="color: #000000">&nbsp;"&nbsp;</span><span style="color: #ff0000">''</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">as</span><span style="color: #000000">&nbsp;degree_name,"<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">+</span><span style="color: #000000">&nbsp;"&nbsp;</span><span style="color: #ff0000">''</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">as</span><span style="color: #000000">&nbsp;reason,&nbsp;"<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">+</span><span style="color: #000000">&nbsp;"&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">fact_node</span><span style="color: #ff0000">'</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">as</span><span style="color: #000000">&nbsp;node_type,&nbsp;"<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">+</span><span style="color: #000000">&nbsp;"&nbsp;</span><span style="color: #ff0000">''</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">as</span><span style="color: #000000">&nbsp;fact_node_name,&nbsp;"<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">+</span><span style="color: #000000">&nbsp;"&nbsp;f.create_time,&nbsp;"<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">+</span><span style="color: #000000">&nbsp;"&nbsp;&nbsp;&nbsp;&nbsp;f.id,&nbsp;&nbsp;&nbsp;&nbsp;f.project_id,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;f.node_name,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;f.deptids,"<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">+</span><span style="color: #000000">&nbsp;"&nbsp;&nbsp;&nbsp;&nbsp;f.fact_begin_time,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;f.fact_end_time,&nbsp;&nbsp;&nbsp;&nbsp;f.worklevel"<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">+</span><span style="color: #000000">&nbsp;"&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hrp_fact_node_execute&nbsp;f&nbsp;"<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">+</span><span style="color: #000000">&nbsp;"&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #ff00ff">left</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">join</span><span style="color: #000000">&nbsp;hrp_cycle_grade&nbsp;g&nbsp;</span><span style="color: #0000ff">on</span><span style="color: #000000">&nbsp;g.id&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;f.worklevel&nbsp;"<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">+</span><span style="color: #000000">&nbsp;"&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;f.state&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">&nbsp;&nbsp;</span><span style="color: #808080">and</span><span style="color: #000000">&nbsp;&nbsp;f.fact_state_id&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">&nbsp;"<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&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;(f.exeids&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;userId&nbsp;+&nbsp;"%</span><span style="color: #ff0000">'</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">or</span><span style="color: #000000">&nbsp;f.exeids&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;userId&nbsp;+&nbsp;"%</span><span style="color: #ff0000">'</span><span style="color: #000000">)&nbsp;";<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sql&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;string.Format("</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="font-weight: bold; color: #800000">0</span><span style="color: #000000">})&nbsp;</span><span style="color: #0000ff">as</span><span style="color: #000000">&nbsp;t1&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;create_time&nbsp;</span><span style="color: #0000ff">desc</span><span style="color: #000000">",&nbsp;sql);</span></div>
<br />
<br />
ps: 我记得这样的一篇帖子好像发表过, 奇怪为什么不找不到了??<br />
当时还参考了别人的博客, <br />
迷糊ing.... 唉, 被 google.com搞得心神不宁啊~~~~ 
<img src ="http://www.blogjava.net/kiant/aggbug/284131.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kiant/" target="_blank">黄小二</a> 2009-06-25 16:27 <a href="http://www.blogjava.net/kiant/articles/284131.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Connector/Net 连接 MySQL远程服务器出现 "Unable to connect to any of the specified MySQL hosts" 解决方法</title><link>http://www.blogjava.net/kiant/articles/270714.html</link><dc:creator>黄小二</dc:creator><author>黄小二</author><pubDate>Thu, 14 May 2009 13:32:00 GMT</pubDate><guid>http://www.blogjava.net/kiant/articles/270714.html</guid><wfw:comment>http://www.blogjava.net/kiant/comments/270714.html</wfw:comment><comments>http://www.blogjava.net/kiant/articles/270714.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/kiant/comments/commentRss/270714.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kiant/services/trackbacks/270714.html</trackback:ping><description><![CDATA[<p><br />
今天做项目时候就遇到这问题<br />
中文提示&#8220;找不到相应的主机。&#8221;</p>
<p>这时候请检查数据库服务器上 MySql.Data.dll 文件版本和项目 bin 目录下的版本是否一致。</p>
<p>如果远程主机版本是 6.0.3<br />
而项目引用的是 5.0.3<br />
则会出现以上的错误提示</p>
<p>但是如果本机主机上版本是 6.0.3<br />
即使项目引用的是 5.0.3<br />
也能正常连接数据库，不清楚是什么原因</p>
<img src ="http://www.blogjava.net/kiant/aggbug/270714.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kiant/" target="_blank">黄小二</a> 2009-05-14 21:32 <a href="http://www.blogjava.net/kiant/articles/270714.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>MySQL 中时间格式相关</title><link>http://www.blogjava.net/kiant/articles/268672.html</link><dc:creator>黄小二</dc:creator><author>黄小二</author><pubDate>Sun, 03 May 2009 02:30:00 GMT</pubDate><guid>http://www.blogjava.net/kiant/articles/268672.html</guid><wfw:comment>http://www.blogjava.net/kiant/comments/268672.html</wfw:comment><comments>http://www.blogjava.net/kiant/articles/268672.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kiant/comments/commentRss/268672.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kiant/services/trackbacks/268672.html</trackback:ping><description><![CDATA[<br />
<a href="http://tech.ddvip.com/2008-01/120060777640649.html" target="_blank">MySQL数据库中的Date,DateTime和TimeStamp类型</a>
<fieldset><legend></legend>DATETIME类型用在你需要同时包含日期和时间信息的值时。MySQL检索并且以'YYYY-MM-DD HH:MM:SS'格式显示DATETIME值
<p>DATE类型用在你仅需要日期值时，没有时间部分。MySQL检索并且以'YYYY-MM-DD'格式显示DATE值</p>
<p>TIMESTAMP列类型提供一种类型，你可以使用它自动地用当前的日期和时间标记INSERT或UPDATE的操作。如果你有多个TIMESTAMP列，只有第一个自动更新。 <br />
<strong>自动更新</strong>第一个TIMESTAMP列在下列任何条件下发生： <br />
　　列没有明确地在一个INSERT或LOAD DATA INFILE语句中指定。 <br />
　　列没有明确地在一个UPDATE语句中指定且一些另外的列改变值。（注意一个UPDATE设置一个列为它已经有的值，这将不引起TIMESTAMP列被更新，因为如果你设置一个列为它当前的值，MySQL为了效率而忽略更改。） <br />
　　你明确地设定TIMESTAMP列为NULL. <br />
　　<strong>除第一个以外的TIMESTAMP列也可以设置到当前的日期和时间</strong>，只要将列设为NULL，或NOW()。 </p>
</fieldset>
<p>ps.该网站同时还收录了一些相关技术应用的文章</p>
<br />
<hr />
<a href="http://blog.chinaunix.net/u/29134/showart_396627.html" target="_blank">[原创]MYSQL中TIMESTAMP类型的默认值</a>
<fieldset><legend></legend>MYSQL中TIMESTAMP类型可以设定默认值，就像其他类型一样。 <br />
1、自动UPDATE 和INSERT 到当前的时间：<br />
&nbsp;`p_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP <br />
<br />
2、自动INSERT 到当前时间，不过不自动UPDATE。<br />
&nbsp;`p_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP <br />
<br />
3、一个表中不能有两个字段默认值是当前时间，否则就会出错。不过其他的可以。<br />
&nbsp;`p_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, <br />
`p_timew2` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' </fieldset> <br />
<br />
<hr />
<a href="http://qsrock.javaeye.com/blog/143733" target="_blank">mysql插入当前时间</a>
<fieldset><legend></legend>
now()函数以`yyyy-mm-dd hh:mm:ss返回当前的日期时间，可以直接存到datetime字段中。 <br />
curdate()以&#8217;yyyy-mm-dd&#8217;的格式返回今天的日期，可以直接存到date字段中。 <br />
curtime()以&#8217;hh:mm:ss&#8217;的格式返回当前的时间，可以直接存到time字段中。
</fieldset> <br /> <img src ="http://www.blogjava.net/kiant/aggbug/268672.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kiant/" target="_blank">黄小二</a> 2009-05-03 10:30 <a href="http://www.blogjava.net/kiant/articles/268672.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>MySQL 5.0存储过程</title><link>http://www.blogjava.net/kiant/articles/266248.html</link><dc:creator>黄小二</dc:creator><author>黄小二</author><pubDate>Fri, 17 Apr 2009 16:42:00 GMT</pubDate><guid>http://www.blogjava.net/kiant/articles/266248.html</guid><wfw:comment>http://www.blogjava.net/kiant/comments/266248.html</wfw:comment><comments>http://www.blogjava.net/kiant/articles/266248.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kiant/comments/commentRss/266248.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kiant/services/trackbacks/266248.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: mysql 5.0存储过程学习总结java中调用：stmt = conn.prepareCall("{call mappingProc(?)}");&nbsp;&nbsp;&nbsp; stmt.registerOutParameter(1, Types.INTEGER);stmt.execute();int i= stmt.getInt(1);小题大做之MyS...&nbsp;&nbsp;<a href='http://www.blogjava.net/kiant/articles/266248.html'>阅读全文</a><img src ="http://www.blogjava.net/kiant/aggbug/266248.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kiant/" target="_blank">黄小二</a> 2009-04-18 00:42 <a href="http://www.blogjava.net/kiant/articles/266248.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转] SQL编码规范(收集) &amp; 数据库设计经验谈(转)</title><link>http://www.blogjava.net/kiant/articles/226459.html</link><dc:creator>黄小二</dc:creator><author>黄小二</author><pubDate>Tue, 02 Sep 2008 10:03:00 GMT</pubDate><guid>http://www.blogjava.net/kiant/articles/226459.html</guid><wfw:comment>http://www.blogjava.net/kiant/comments/226459.html</wfw:comment><comments>http://www.blogjava.net/kiant/articles/226459.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kiant/comments/commentRss/226459.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kiant/services/trackbacks/226459.html</trackback:ping><description><![CDATA[原文转自：<br />
<a href="http://www.cnblogs.com/Duiker/archive/2006/12/10/587764.html" target="_blank">数据库设计经验谈(转) <br />
</a>SQL编码规范(收集)&nbsp;&nbsp; <a href="http://hi.baidu.com/rambochow/blog/item/3ebcbb3db3758903bba16743.html" target="_blank">http://hi.baidu.com/rambochow/blog/item/3ebcbb3db3758903bba16743.html</a><br />
<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 id="Code_Closed_Image_175854" onclick="this.style.display='none'; Code_Closed_Text_175854.style.display='none'; Code_Open_Image_175854.style.display='inline'; Code_Open_Text_175854.style.display='inline';" height="16" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" width="11" align="top" /><img id="Code_Open_Image_175854" style="display: none" onclick="this.style.display='none'; Code_Open_Text_175854.style.display='none'; Code_Closed_Image_175854.style.display='inline'; Code_Closed_Text_175854.style.display='inline';" height="16" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top" /><span id="Code_Closed_Text_175854" style="border-right: #808080 1px solid; border-top: #808080 1px solid; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff">1.书写格式&nbsp; </span><span id="Code_Open_Text_175854" style="display: none"><br />
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">.书写格式　<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;示例代码：　　&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;存储过程SQL文书写格式例<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;</span><span style="color: #0000ff">select</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;c.dealerCode,<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;</span><span style="color: #ff00ff">round</span><span style="color: #000000">(</span><span style="color: #ff00ff">sum</span><span style="color: #000000">(c.submitSubletAmountDLR&nbsp;</span><span style="color: #808080">+</span><span style="color: #000000">&nbsp;c.submitPartsAmountDLR&nbsp;</span><span style="color: #808080">+</span><span style="color: #000000">&nbsp;c.submitLaborAmountDLR)&nbsp;</span><span style="color: #808080">/</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="font-weight: bold; color: #800000">2</span><span style="color: #000000">)&nbsp;</span><span style="color: #0000ff">as</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">avg</span><span style="color: #000000">,<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;decode(</span><span style="color: #0000ff">null</span><span style="color: #000000">,&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">x</span><span style="color: #ff0000">'</span><span style="color: #000000">,&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">xx</span><span style="color: #ff0000">'</span><span style="color: #000000">,&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">CNY</span><span style="color: #ff0000">'</span><span style="color: #000000">)<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;(<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;</span><span style="color: #0000ff">select</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;a.dealerCode,<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;a.submitSubletAmountDLR,<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;a.submitPartsAmountDLR,<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;a.submitLaborAmountDLR<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;SRV_TWC_F&nbsp;a<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;</span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;(to_char(a.ORIGSUBMITTIME,&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">yyyy/mm/dd</span><span style="color: #ff0000">'</span><span style="color: #000000">)&nbsp;</span><span style="color: #808080">&gt;=</span><span style="color: #000000">&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">Date&nbsp;Range(start)</span><span style="color: #ff0000">'</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;</span><span style="color: #808080">and</span><span style="color: #000000">&nbsp;to_char(a.ORIGSUBMITTIME,&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">yyyy/mm/dd</span><span style="color: #ff0000">'</span><span style="color: #000000">)&nbsp;</span><span style="color: #808080">&lt;=</span><span style="color: #000000">&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">Date&nbsp;Range(end)</span><span style="color: #ff0000">'</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;</span><span style="color: #808080">and</span><span style="color: #000000">&nbsp;nvl(a.deleteflag,&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">0</span><span style="color: #ff0000">'</span><span style="color: #000000">)&nbsp;</span><span style="color: #808080">&lt;&gt;</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">)<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;</span><span style="color: #0000ff">union</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">all</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;</span><span style="color: #0000ff">select</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;b.dealerCode,<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;b.submitSubletAmountDLR,<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;b.submitPartsAmountDLR,<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;b.submitLaborAmountDLR<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;SRV_TWCHistory_F&nbsp;b<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;</span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;(to_char(b.ORIGSUBMITTIME,&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">yyyy/mm/dd</span><span style="color: #ff0000">'</span><span style="color: #000000">)&nbsp;</span><span style="color: #808080">&gt;=</span><span style="color: #000000">&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">Date&nbsp;Range(start)</span><span style="color: #ff0000">'</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;</span><span style="color: #808080">and</span><span style="color: #000000">&nbsp;to_char(b.ORIGSUBMITTIME,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">yyyy/mm/dd</span><span style="color: #ff0000">'</span><span style="color: #000000">)&nbsp;</span><span style="color: #808080">&lt;=</span><span style="color: #000000">&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">Date&nbsp;Range(end)</span><span style="color: #ff0000">'</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;</span><span style="color: #808080">and</span><span style="color: #000000">&nbsp;nvl(b.deleteflag,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">0</span><span style="color: #ff0000">'</span><span style="color: #000000">)&nbsp;</span><span style="color: #808080">&lt;&gt;</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">)<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;)&nbsp;c<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;</span><span style="color: #0000ff">group</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">by</span><span style="color: #000000">&nbsp;c.dealerCode<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&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: #ff00ff">avg</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">desc</span><span style="color: #000000">;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;C#中里的SQL字符串书写格式例<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;strSQL&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;"</span><span style="color: #0000ff">insert</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">into</span><span style="color: #000000">&nbsp;Snd_FinanceHistory_Tb&nbsp;"<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;</span><span style="color: #808080">+</span><span style="color: #000000">&nbsp;"(DEALERCODE,&nbsp;"<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;</span><span style="color: #808080">+</span><span style="color: #000000">&nbsp;"REQUESTSEQUECE,&nbsp;"<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;</span><span style="color: #808080">+</span><span style="color: #000000">&nbsp;"HANDLETIME,&nbsp;"<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;</span><span style="color: #808080">+</span><span style="color: #000000">&nbsp;"JOBFLAG,&nbsp;"<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;</span><span style="color: #808080">+</span><span style="color: #000000">&nbsp;"FRAMENO,&nbsp;"<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;</span><span style="color: #808080">+</span><span style="color: #000000">&nbsp;"INMONEY,&nbsp;"<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;</span><span style="color: #808080">+</span><span style="color: #000000">&nbsp;"REMAINMONEY,&nbsp;"<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;</span><span style="color: #808080">+</span><span style="color: #000000">&nbsp;"DELETEFLAG,&nbsp;"<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;</span><span style="color: #808080">+</span><span style="color: #000000">&nbsp;"UPDATECOUNT,&nbsp;"<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;</span><span style="color: #808080">+</span><span style="color: #000000">&nbsp;"CREUSER,&nbsp;"<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;</span><span style="color: #808080">+</span><span style="color: #000000">&nbsp;"CREDATE,&nbsp;"<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;</span><span style="color: #808080">+</span><span style="color: #000000">&nbsp;"HONORCHECKNO,&nbsp;"<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;</span><span style="color: #808080">+</span><span style="color: #000000">&nbsp;"SEQ)&nbsp;"<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;</span><span style="color: #808080">+</span><span style="color: #000000">&nbsp;"</span><span style="color: #0000ff">values</span><span style="color: #000000">&nbsp;(</span><span style="color: #ff0000">'</span><span style="color: #ff0000">"&nbsp;+&nbsp;draftInputDetail.dealerCode&nbsp;+&nbsp;"</span><span style="color: #ff0000">'</span><span style="color: #000000">,&nbsp;"<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;</span><span style="color: #808080">+</span><span style="color: #000000">&nbsp;"</span><span style="color: #ff0000">'</span><span style="color: #ff0000">"&nbsp;+&nbsp;draftInputDetail.requestsequece&nbsp;+&nbsp;"</span><span style="color: #ff0000">'</span><span style="color: #000000">,&nbsp;"<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;</span><span style="color: #808080">+</span><span style="color: #000000">&nbsp;"sysdate,&nbsp;"<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;</span><span style="color: #808080">+</span><span style="color: #000000">&nbsp;"</span><span style="color: #ff0000">'</span><span style="color: #ff0000">07</span><span style="color: #ff0000">'</span><span style="color: #000000">,&nbsp;"<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;</span><span style="color: #808080">+</span><span style="color: #000000">&nbsp;"</span><span style="color: #ff0000">'</span><span style="color: #ff0000">"&nbsp;+&nbsp;frameNO&nbsp;+&nbsp;"</span><span style="color: #ff0000">'</span><span style="color: #000000">,&nbsp;"<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;</span><span style="color: #808080">+</span><span style="color: #000000">&nbsp;requestMoney&nbsp;</span><span style="color: #808080">+</span><span style="color: #000000">&nbsp;",&nbsp;"<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;</span><span style="color: #808080">+</span><span style="color: #000000">&nbsp;remainMoney&nbsp;</span><span style="color: #808080">+</span><span style="color: #000000">&nbsp;",&nbsp;"<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;</span><span style="color: #808080">+</span><span style="color: #000000">&nbsp;"</span><span style="color: #ff0000">'</span><span style="color: #ff0000">0</span><span style="color: #ff0000">'</span><span style="color: #000000">,&nbsp;"<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;</span><span style="color: #808080">+</span><span style="color: #000000">&nbsp;"</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,&nbsp;"<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;</span><span style="color: #808080">+</span><span style="color: #000000">&nbsp;"</span><span style="color: #ff0000">'</span><span style="color: #ff0000">"&nbsp;+&nbsp;draftStruct.employeeCode&nbsp;+&nbsp;"</span><span style="color: #ff0000">'</span><span style="color: #000000">,&nbsp;"<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;</span><span style="color: #808080">+</span><span style="color: #000000">&nbsp;"sysdate,&nbsp;"<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;</span><span style="color: #808080">+</span><span style="color: #000000">&nbsp;"</span><span style="color: #ff0000">'</span><span style="color: #ff0000">"&nbsp;+&nbsp;draftInputDetail.honorCheckNo&nbsp;+&nbsp;"</span><span style="color: #ff0000">'</span><span style="color: #000000">,&nbsp;"<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;</span><span style="color: #808080">+</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">index</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">+</span><span style="color: #000000">&nbsp;")";<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">).缩进<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;对于存储过程文件，缩进为8个空格<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;对于C#里的SQL字符串，不可有缩进，即每一行字符串不可以空格开头<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;</span><span style="font-weight: bold; color: #800000">2</span><span style="color: #000000">).换行<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #808080">&gt;</span><span style="color: #000000">.</span><span style="color: #0000ff">Select</span><span style="color: #808080">/</span><span style="color: #0000ff">From</span><span style="color: #808080">/</span><span style="color: #0000ff">Where</span><span style="color: #808080">/</span><span style="color: #0000ff">Order</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">by</span><span style="color: #808080">/</span><span style="color: #0000ff">Group</span><span style="color: #000000">&nbsp;by等子句必须另其一行写<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;</span><span style="font-weight: bold; color: #800000">2</span><span style="color: #808080">&gt;</span><span style="color: #000000">.Select子句内容如果只有一项，与Select同行写<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;</span><span style="font-weight: bold; color: #800000">3</span><span style="color: #808080">&gt;</span><span style="color: #000000">.Select子句内容如果多于一项，每一项单独占一行，在对应Select的基础上向右缩进8个空格（C#无缩进）<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;</span><span style="font-weight: bold; color: #800000">4</span><span style="color: #808080">&gt;</span><span style="color: #000000">.From子句内容如果只有一项，与From同行写<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;</span><span style="font-weight: bold; color: #800000">5</span><span style="color: #808080">&gt;</span><span style="color: #000000">.From子句内容如果多于一项，每一项单独占一行，在对应From的基础上向右缩进8个空格（C#无缩进）<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;</span><span style="font-weight: bold; color: #800000">6</span><span style="color: #808080">&gt;</span><span style="color: #000000">.Where子句的条件如果有多项，每一个条件占一行，以AND开头，且无缩进<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;</span><span style="font-weight: bold; color: #800000">7</span><span style="color: #808080">&gt;</span><span style="color: #000000">.(</span><span style="color: #0000ff">Update</span><span style="color: #000000">)Set子句内容每一项单独占一行，无缩进<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;</span><span style="font-weight: bold; color: #800000">8</span><span style="color: #808080">&gt;</span><span style="color: #000000">.Insert子句内容每个表字段单独占一行，无缩进；values每一项单独占一行，无缩进<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;</span><span style="font-weight: bold; color: #800000">9</span><span style="color: #808080">&gt;</span><span style="color: #000000">.SQL文中间不允许出现空行<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;</span><span style="font-weight: bold; color: #800000">10</span><span style="color: #808080">&gt;</span><span style="color: #000000">.C#里单引号必须跟所属的SQL子句处在同一行，连接符（"</span><span style="color: #808080">+</span><span style="color: #000000">"）必须在行首<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;</span><span style="font-weight: bold; color: #800000">3</span><span style="color: #000000">).空格<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #808080">&gt;</span><span style="color: #000000">.SQL内算数运算符、逻辑运算符连接的两个元素之间必须用空格分隔<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;</span><span style="font-weight: bold; color: #800000">2</span><span style="color: #808080">&gt;</span><span style="color: #000000">.逗号之后必须接一个空格<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;</span><span style="font-weight: bold; color: #800000">3</span><span style="color: #808080">&gt;</span><span style="color: #000000">.关键字、保留字和左括号之间必须有一个空格</span></span></div>
<br />
<br />
<fieldset>　　 2.不等于统一使用"&lt;&gt;"。虽然 SQLServer认为"!="和"&lt;&gt;"是等价的，都代表不等于的意义。为了统一，不等于一律使用"&lt;&gt;"表示
<p>　　 3.使用表的别名, 数据库查询，必须使用表的别名。</p>
<p>　　 4.SQL文对表字段扩展的兼容性。在C#里使用Select *时，严禁通过getString(1)的形式得到查询结果，必须使用getString("字段名")的形式；使用Insert时，必须指定插入的字段名，严禁不指定字段名直接插入values　　 </p>
<p>　　 5.减少子查询的使用。子查询除了可读性差之外，还在一定程度上影响了SQL运行效率，请尽量减少使用子查询的使用，用其他效率更高、可读性更好的方式替代。　　 </p>
<p>　　 6.适当添加索引以提高查询效率，适当添加索引可以大幅度的提高检索速度，请参看SQLSERVER SQL性能优化系列。<br />
</p>
</fieldset><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 id="Code_Closed_Image_180053" onclick="this.style.display='none'; Code_Closed_Text_180053.style.display='none'; Code_Open_Image_180053.style.display='inline'; Code_Open_Text_180053.style.display='inline';" height="16" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" width="11" align="top" /><img id="Code_Open_Image_180053" style="display: none" onclick="this.style.display='none'; Code_Open_Text_180053.style.display='none'; Code_Closed_Image_180053.style.display='inline'; Code_Closed_Text_180053.style.display='inline';" height="16" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top" /><span id="Code_Closed_Text_180053" style="border-right: #808080 1px solid; border-top: #808080 1px solid; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff">7.对数据库表操作的特殊要求　</span><span id="Code_Open_Text_180053" style="display: none"><br />
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="font-weight: bold; color: #800000">7</span><span style="color: #000000">.对数据库表操作的特殊要求　　&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;本项目对数据库表的操作还有以下特殊要求：　　&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">).以逻辑删除替代物理删除　　&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;注意：现在数据库表中数据没有物理删除，只有逻辑删除　　&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;以deleteflag字段作为删除标志，deleteflag</span><span style="color: #808080">=</span><span style="color: #ff0000">'</span><span style="color: #ff0000">1</span><span style="color: #ff0000">'</span><span style="color: #000000">代表此记录被逻辑删除，因此在查询数据时必须考虑deleteflag的因素，deleteflag的标准查询条件：NVL(deleteflag,&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">0</span><span style="color: #ff0000">'</span><span style="color: #000000">)&nbsp;</span><span style="color: #808080">&lt;&gt;</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"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;</span><span style="font-weight: bold; color: #800000">2</span><span style="color: #000000">).增加记录状态字段　　&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;数据库中的每张表基本都有以下字段：DELETEFLAG、UPDATECOUNT、CREDATE、CREUSER、UPDATETIME、UPDATEUSER　　&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;要注意在对标进行操作时必须考虑以下字段　　&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;插入一条记录时要置DELETEFLAG</span><span style="color: #808080">=</span><span style="color: #ff0000">'</span><span style="color: #ff0000">0</span><span style="color: #ff0000">'</span><span style="color: #000000">,&nbsp;UPDATECOUNT</span><span style="color: #808080">=</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,&nbsp;CREDATE</span><span style="color: #808080">=</span><span style="color: #000000">sysdate,&nbsp;CREUSER</span><span style="color: #808080">=</span><span style="color: #000000">登录User；查询一条记录时要考虑DELETEFLAG，如果有可能对此记录作更新时还要取得UPDATECOUNT作同步检查　；修改一条记录时要置UPDATETIME</span><span style="color: #808080">=</span><span style="color: #000000">sysdate,&nbsp;UPDATEUSER</span><span style="color: #808080">=</span><span style="color: #000000">登录User,&nbsp;UPDATECOUNT</span><span style="color: #808080">=</span><span style="color: #000000">(UPDATECOUNT</span><span style="color: #808080">+</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">)&nbsp;mod&nbsp;</span><span style="font-weight: bold; color: #800000">1000</span><span style="color: #000000">,　；删除一条记录时要置DELETEFLAG</span><span style="color: #808080">=</span><span style="color: #ff0000">'</span><span style="color: #ff0000">1</span><span style="color: #ff0000">'</span><span style="color: #000000">　　&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;</span><span style="font-weight: bold; color: #800000">3</span><span style="color: #000000">).历史表　　&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　&nbsp;数据库里部分表还存在相应的历史表，比如srv_twc_f和srv_twchistory_f，在查询数据时除了检索所在表之外，还必须检索相应的历史表，对二者的结果做Union（或Union&nbsp;</span><span style="color: #808080">All</span><span style="color: #000000">）　　&nbsp;</span></span></div>
<br />
<br />
<fieldset><legend></legend>8.用执行计划分析SQL性能　　 <br />
　　 EXPLAIN PLAN是一个很好的分析SQL语句的工具，它可以在不执行SQL的情况下分析语句。通过分析，我们就可以知道SQLSERVER是怎样连接表，使用什么方式扫描表（索引扫描或全表扫描），以及使用到的索引名称，按照从里到外，从上到下的次序解读分析的结果，EXPLAIN PLAN的分析结果是用缩进的格式排列的，最内部的操作将最先被解读，如果两个操作处于同一层中，带有最小操作号的将首先被执行。目前许多第三方的工具如PLSQL Developer和TOAD等都提供了极其方便的EXPLAIN PLAN工具，PG需要将自己添加的查询SQL文记入log，然后在EXPLAIN PLAN中进行分析，尽量减少全表扫描，</fieldset><br />
<br />
<img src ="http://www.blogjava.net/kiant/aggbug/226459.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kiant/" target="_blank">黄小二</a> 2008-09-02 18:03 <a href="http://www.blogjava.net/kiant/articles/226459.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>