﻿<?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-我为你狂</title><link>http://www.blogjava.net/xiaohu/</link><description>为你而疯狂</description><language>zh-cn</language><lastBuildDate>Tue, 28 Apr 2026 10:46:07 GMT</lastBuildDate><pubDate>Tue, 28 Apr 2026 10:46:07 GMT</pubDate><ttl>60</ttl><item><title>父母不同意就分手？</title><link>http://www.blogjava.net/xiaohu/archive/2011/03/21/346657.html</link><dc:creator>小虎(年轻)</dc:creator><author>小虎(年轻)</author><pubDate>Mon, 21 Mar 2011 01:05:00 GMT</pubDate><guid>http://www.blogjava.net/xiaohu/archive/2011/03/21/346657.html</guid><wfw:comment>http://www.blogjava.net/xiaohu/comments/346657.html</wfw:comment><comments>http://www.blogjava.net/xiaohu/archive/2011/03/21/346657.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/xiaohu/comments/commentRss/346657.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xiaohu/services/trackbacks/346657.html</trackback:ping><description><![CDATA[<p>转载自【<a href="http://www.i0933.com/" target="_blank">平凉e家论坛</a>】又名【<a href="http://www.i0933.com/" target="_blank">平凉论坛</a>】的文章</p>
父母不同意，通常有三个原因：&nbsp;&nbsp;<br />
（1）太远了，怕闺女嫁那么远受委屈，回娘家不方便。其实你想想，以现在的交通去哪儿不方便？再远，就是出国了，也就是两三天的路程。怕受委屈，去其实你嫁的远了，不一定就会受委屈，而你嫁的近了，也不一定就吃香，有的嫁给同村的，还不是三天两头打架，会不会受委屈，不一定嫁的近了就知道孝顺父母！就走的近！在近父母有难处你不去照顾有什么用！在远我们有心去也是能做到的！关键是看这个男人怎么样？所以，这个人你一定要选好。<br />
&nbsp; &nbsp;（2）就是家穷，其实我本人觉得有钱不一定幸福，而没钱不一定不快乐，以健康为中心，潇洒一点，糊涂一点，忘记金钱，忘记名利，有个伴有个窝，有点钱有好友，简单的爱，真心的疼，一点温暖，很多安宁，幸福不过如此，再说了，关键不是看他家有没有钱，而是看他有没有挣钱的本事和欲望，家再有钱，如果他不争气，早晚也是败坏完，如果他有本事有挣钱的欲望的话，那现在的穷将是暂时的，这一点上父母应该把眼光放远一点，而不是只看眼前，至少不该一棒子把人打死，所以贫富不是看家，而是看人，所以，这个人你一定要选好.<br />
<br />
（3）就是名声不好或人有问题，关于名声问题如果是家名声不好，父母造成的，那我觉得不应该把罪过归罪与孩子身上，那对他很不公平，因为他并没有错，谁敢说杀人犯的儿子就一定是坏人？就一定还是杀人犯？如果是他名声不好，那要看他现在是不是改过了，毕竟谁都有做错事的时候，不能因为一件事就记人家一辈子，国家判刑还有个日期那不是，所以如果人家知错了，改过了，应该给人家一个改过自新的机会。如果他本人确实不怎么样，吃喝嫖赌，偷鸡摸狗的话， 那我完全赞同父母的意见，这样的男人不能嫁，这个人一定要选好。<br />
<br />
其实，父母的生气都是暂时的，以后他们会原谅你的，而男朋友没了就是没了，可能你会找到一个更好的，但你绝对找不到一个一模一样的，如果你仅仅是为了孝顺不让父母生气，而丢掉你的男朋友，我觉得这对他来说很残忍，也很不公平，同样，我觉得这个的老婆不要也好，因为你在她心里太没地位了，丢掉你仅仅是为了让父母一笑，这是多么可笑的事情。当然，你可以说她这是孝顺，但我觉得是愚孝，是一大悲哀！<br />
&nbsp; &nbsp; 我记得有一所大学，一个教授做过一个实验，让一个女生在黑板上，把自己认为最重要的人依照次序排列出来，包括父母兄弟姐妹，朋友同事邻居。让后再以自己认为最不重要的人酌个删除，到最后，只剩下孩子、父母、老公这个地方她感到为难了，到最后她是哭着删掉了父母的名字，接着是孩子的名字，于是这个教授就问她说：父母给了你生命，并且把你养大成人，还给你了无私的爱，而孩子是你的亲生子，是你身上掉下的肉，惟独丈夫什么都不是，既和你没有血缘关系，也没有大恩大德，你为什么会偏偏留下了他？于是这个女生就说：父母迟早会离她而去，只是早几年晚几年的事，孩子长大以后，会有自己的家，也会离开自己，而真正陪自己到老陪在自己身边一辈子的，只有丈夫。由此可见，这个人你一定要选好。<br />
&nbsp; &nbsp;&nbsp;&nbsp;人家都说，婚姻是女人的第二次投胎，第一次你没得选择，但是第二次你有，至于怎么选，那就要看你自己了，谁也无法帮你，而别人的意见也仅供参考，今天我写的这个日志是我的心里话和内心想法，如果你看到了并且还没结婚的话，请你保存起来，也许以后有一天你会遇到这种伤脑筋的问题！祝愿天下有心人&#8220;终成眷属。&#8221;<br />
<p>转载自【<a href="http://www.i0933.com/" target="_blank">平凉e家论坛</a>】又名【<a href="http://www.i0933.com/" target="_blank">平凉论坛</a>】的文章</p>
<img src ="http://www.blogjava.net/xiaohu/aggbug/346657.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xiaohu/" target="_blank">小虎(年轻)</a> 2011-03-21 09:05 <a href="http://www.blogjava.net/xiaohu/archive/2011/03/21/346657.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>平凉市委对拟提拔任职及平职转任重要职务的王立新等17名同志进行任前公示的公告</title><link>http://www.blogjava.net/xiaohu/archive/2011/03/21/346656.html</link><dc:creator>小虎(年轻)</dc:creator><author>小虎(年轻)</author><pubDate>Mon, 21 Mar 2011 01:04:00 GMT</pubDate><guid>http://www.blogjava.net/xiaohu/archive/2011/03/21/346656.html</guid><wfw:comment>http://www.blogjava.net/xiaohu/comments/346656.html</wfw:comment><comments>http://www.blogjava.net/xiaohu/archive/2011/03/21/346656.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xiaohu/comments/commentRss/346656.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xiaohu/services/trackbacks/346656.html</trackback:ping><description><![CDATA[<p>转载自【<a href="http://www.i0933.com/" target="_blank">平凉e家论坛</a>】又名【<a href="http://www.i0933.com/" target="_blank">平凉论坛</a>】的文章</p>
<p style="text-align: left; line-height: 30px; text-indent: 2em">现将市委研究拟提拔任职及平职转任重要职务的王立新等17名同志的有关情况予以公示，接受广大干部群众监督。如发现廉洁自律、计划生育等方面有影响任职的问题，可通过电话、来信、面谈等形式反映，我们将认真进行受理，并向署名或当面反映问题的干部群众反馈调查核实结果。如不存在影响任职的问题，将按有关规定履行任职手续。</p>
<br />
<p style="text-align: left; line-height: 30px; text-indent: 2em">一、提拔任职公示对象简要情况(按姓名笔画排序)</p>
<br />
<br />
<p style="text-align: left; line-height: 30px; text-indent: 2em">王立新，男，汉族，生于57.09，崇信县人，大专，76.12工作，86.08入党。现任市工业和信息化委员会党委委员、副主任，拟任市工业和信息化委员会调研员。</p>
<br />
<br />
<p style="text-align: left; line-height: 30px; text-indent: 2em">王建儒，男，汉族，生于53.04，泾川县人，大专，74.08工作，84.09入党。拟任市教育局调研员，拟免市教育局党组成员、副局长职务。</p>
<br />
<br />
<p style="text-align: left; line-height: 30px; text-indent: 2em">王武，男，汉族，生于73.02，静宁县人，研究生，95.09工作，98.05入党。现任静宁县委组织部常务副部长(正科级)，拟任市地震局党组成员、副局长(试用期一年)。</p>
<br />
<br />
<p style="text-align: left; line-height: 30px; text-indent: 2em">史仓顺，男，汉族，生于55.12，庄浪县人，大学，72.01工作，90.06入党。拟任市文化出版局调研员，拟免市社科联党组成员、副主席职务。</p>
<br />
<br />
<p style="text-align: left; line-height: 30px; text-indent: 2em">田书林，男，汉族，生于63.07，泾川县人，大学，82.07工作，87.01入党。拟任市委副秘书长(正县级，试用期一年)，拟免市委政法委副书记、市综治办副主任职务。</p>
<br />
<br />
<p style="text-align: left; line-height: 30px; text-indent: 2em">田晓东，男，汉族，生于68.05，甘肃镇原人，大学，88.06工作，95.09入党。现任华亭县规划局局长，拟任市建筑管理处副处长(试用期一年)。</p>
<br />
<br />
<p style="text-align: left; line-height: 30px; text-indent: 2em">石高平，男，汉族，生于59.08，庄浪县人，大学，81.02工作，84.08入党。现任市扶贫办党组成员、副主任，拟任市扶贫办调研员。 </p>
<br />
<p style="text-align: left; line-height: 30px; text-indent: 2em">何永桢，男，汉族，生于59.02，泾川县人，大学，76.10工作，86.07入党。现任市科技局党组成员、副局长，拟任市科技局调研员。</p>
<br />
<br />
<p style="text-align: left; line-height: 30px; text-indent: 2em">完新义，男，汉族，生于67.11，泾川县人，大学，88.07工作，92.09入党。现任泾川县住房和城乡建设局局长，拟任泾川一中党委书记(副县级，试用期一年)。</p>
<br />
<br />
<p style="text-align: left; line-height: 30px; text-indent: 2em">李世恩，男，汉族，生于66.11，静宁县人，大学，89.07工作，92.05入党。拟任市文联党组成员、副书记、主席，拟免市委政研室副主任职务。</p>
<br />
<br />
<p style="text-align: left; line-height: 30px; text-indent: 2em">李存生，男，汉族，生于61.07，静宁县人，大学，84.07工作，85.11入党。现任市广播电影电视局党组成员、副局长，拟任市广播电影电视局调研员。</p>
<br />
<br />
<p style="text-align: left; line-height: 30px; text-indent: 2em">李金福，男，汉族，生于63.03，甘肃镇原人，研究生，83.07工作，86.10入党。现任崆峒区交通局局长，拟任市政府拆迁办公室主任(副县级，试用期一年)。</p>
<br />
<br />
<p style="text-align: left; line-height: 30px; text-indent: 2em">李晓华，男，汉族，生于63.05，甘肃天水人，大学，81.08工作，95.11入党。现任泾川一中副校长(正科级)，拟任泾川一中校长(副县级，试用期一年)。</p>
<br />
<br />
<p style="text-align: left; line-height: 30px; text-indent: 2em">谢宏敏，男，汉族，生于62.08，崇信县人，大学，82.07工作，88.04入党。现为市社科联正科级干部，拟任市社科联党组成员，提名为市社科联副主席候选人。</p>
<br />
<p style="text-align: left; line-height: 30px; text-indent: 2em">&nbsp; &nbsp;&nbsp;&nbsp;二、非领导职务转任同级领导职务公示对象简要情况</p>
<br />
<br />
<p style="text-align: left; line-height: 30px; text-indent: 2em">王立仁，男，汉族，生于58.02，华亭县人，大学，76.01工作，89.01入党。拟任市科协党组成员、书记、主席，拟免市交通运输局党组成员、副局长、调研员职务。</p>
<br />
<p style="text-align: left; line-height: 30px; text-indent: 2em">&nbsp; &nbsp;&nbsp;&nbsp;三、平职转任重要职务公示对象简要情况(按姓名笔画排序)</p>
<br />
<br />
<p style="text-align: left; line-height: 30px; text-indent: 2em">王旺德，男，汉族，生于62.03，庄浪县人，大学，81.01工作，83.09入党。拟任市残联党组成员、书记、副主席、理事长，拟免市卫生局党组成员、副局长职务。</p>
<br />
<br />
<p style="text-align: left; line-height: 30px; text-indent: 2em">柳喜仓，男，汉族，生于62.08，庄浪县人，大学，81.01工作，85.08入党。拟任市城市管理综合行政执法局党组成员、书记、局长，拟免市水务局党组成员、副局长、市水保科研所所长职务。</p>
<br />
<p style="text-align: left; line-height: 30px; text-indent: 2em">&nbsp; &nbsp;&nbsp;&nbsp;四、公示时间 </p>
<p style="text-align: left; line-height: 30px; text-indent: 2em">2011年3月15日至2011年3月21日，共7天。 </p>
<p style="text-align: left; line-height: 30px; text-indent: 2em">&nbsp; &nbsp;&nbsp;&nbsp;上午：8：30—12：00 </p>
<p style="text-align: left; line-height: 30px; text-indent: 2em">&nbsp; &nbsp;&nbsp;&nbsp;下午：14：30—18：00</p>
<br />
<p style="text-align: left; line-height: 30px; text-indent: 2em">&nbsp; &nbsp;&nbsp;&nbsp;五、受理反映情况部门及联系方法 </p>
<br />
<p style="text-align: left; line-height: 30px; text-indent: 2em">&nbsp; &nbsp;&nbsp;&nbsp;受理部门：市委组织部干部监督科 </p>
<p style="text-align: left; line-height: 30px; text-indent: 2em">&nbsp; &nbsp;&nbsp;&nbsp;联系电话：0933—12380 </p>
<p style="text-align: left; line-height: 30px; text-indent: 2em">&nbsp; &nbsp;&nbsp;&nbsp;通讯地址：平凉市红旗街113号 </p>
<br />
<p style="text-align: left; line-height: 30px; text-indent: 2em">邮政编码：744000 </p>
<br />
<p style="text-align: left; line-height: 30px; text-indent: 2em">&nbsp; &nbsp;&nbsp;&nbsp;中共平凉市委组织部 </p>
<p style="text-align: left; line-height: 30px; text-indent: 2em">&nbsp; &nbsp;&nbsp;&nbsp;2011年3月15日</p>
<p>转载自【<a href="http://www.i0933.com/" target="_blank">平凉e家论坛</a>】又名【<a href="http://www.i0933.com/" target="_blank">平凉论坛</a>】的文章</p>
<img src ="http://www.blogjava.net/xiaohu/aggbug/346656.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xiaohu/" target="_blank">小虎(年轻)</a> 2011-03-21 09:04 <a href="http://www.blogjava.net/xiaohu/archive/2011/03/21/346656.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Oracle多行记录合并/连接/聚合字符串的几种方法</title><link>http://www.blogjava.net/xiaohu/archive/2009/06/25/284164.html</link><dc:creator>小虎(年轻)</dc:creator><author>小虎(年轻)</author><pubDate>Thu, 25 Jun 2009 11:33:00 GMT</pubDate><guid>http://www.blogjava.net/xiaohu/archive/2009/06/25/284164.html</guid><wfw:comment>http://www.blogjava.net/xiaohu/comments/284164.html</wfw:comment><comments>http://www.blogjava.net/xiaohu/archive/2009/06/25/284164.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xiaohu/comments/commentRss/284164.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xiaohu/services/trackbacks/284164.html</trackback:ping><description><![CDATA[<span style="font-size: 10pt; font-family: 微软雅黑">怎么合并多行记录的字符串，一直是oracle新手喜欢问的SQL问题之一，关于这个问题的帖子我看过不下30个了，现在就对这个问题，进行一个总结。<br style="font-family: " />
&nbsp;&nbsp;&nbsp;什么是合并多行字符串（连接字符串）呢，例如：<br style="font-family: " />
SQL&gt;&nbsp;desc&nbsp;test;<br style="font-family: " />
Name&nbsp;&nbsp;&nbsp;&nbsp;Type&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Nullable&nbsp;Default&nbsp;Comments&nbsp;<br style="font-family: " />
-------&nbsp;------------&nbsp;--------&nbsp;-------&nbsp;--------&nbsp;<br style="font-family: " />
COUNTRY&nbsp;VARCHAR2(20)&nbsp;Y&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;<br style="font-family: " />
CITY&nbsp;&nbsp;&nbsp;&nbsp;VARCHAR2(20)&nbsp;Y&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;<br style="font-family: " />
<br style="font-family: " />
SQL&gt;&nbsp;select&nbsp;*&nbsp;from&nbsp;test;<br style="font-family: " />
<br style="font-family: " />
COUNTRY&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CITY<br style="font-family: " />
--------------------&nbsp;--------------------<br style="font-family: " />
中国&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;台北<br style="font-family: " />
中国&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;香港<br style="font-family: " />
中国&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;上海<br style="font-family: " />
日本&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;东京<br style="font-family: " />
日本&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;大阪<br style="font-family: " />
要求得到如下结果集：<br style="font-family: " />
-------&nbsp;&nbsp;&nbsp;&nbsp;--------------------<br style="font-family: " />
中国&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;台北,香港,上海<br style="font-family: " />
日本&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;东京，大阪<br style="font-family: " />
&nbsp;&nbsp;实际就是对字符实现一个聚合功能，我很奇怪为什么Oracle没有提供官方的聚合函数来实现它呢：）<br style="font-family: " />
&nbsp;&nbsp;下面就对几种经常提及的解决方案进行分析（有一个评测标准最高★★★★★）：<br style="font-family: " />
1.被集合字段范围小且固定型&nbsp;灵活性★&nbsp;&nbsp;&nbsp;性能★★★★&nbsp;难度&nbsp;★<br style="font-family: " />
&nbsp;&nbsp;这种方法的原理在于你已经知道CITY字段的值有几种，且还不算太多，如果太多这个SQL就会相当的<br style="font-family: " />
<br style="font-family: " />
长。。看例子：<br style="font-family: " />
SQL&gt;&nbsp;select&nbsp;t.country,<br style="font-family: " />
&nbsp;&nbsp;2&nbsp;&nbsp;MAX(decode(t.city,'台北',t.city||',',NULL))&nbsp;||<br style="font-family: " />
&nbsp;&nbsp;3&nbsp;&nbsp;MAX(decode(t.city,'香港',t.city||',',NULL))||<br style="font-family: " />
&nbsp;&nbsp;4&nbsp;&nbsp;MAX(decode(t.city,'上海',t.city||',',NULL))||<br style="font-family: " />
&nbsp;&nbsp;5&nbsp;&nbsp;MAX(decode(t.city,'东京',t.city||',',NULL))||<br style="font-family: " />
&nbsp;&nbsp;6&nbsp;&nbsp;MAX(decode(t.city,'大阪',t.city||',',NULL))<br style="font-family: " />
&nbsp;&nbsp;7&nbsp;&nbsp;from&nbsp;test&nbsp;t&nbsp;GROUP&nbsp;BY&nbsp;t.country<br style="font-family: " />
&nbsp;&nbsp;8&nbsp;&nbsp;/<br style="font-family: " />
<br style="font-family: " />
COUNTRY&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MAX(DECODE(T.CITY,'台北',T.CIT<br style="font-family: " />
--------------------&nbsp;------------------------------<br style="font-family: " />
中国&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;台北,香港,上海,<br style="font-family: " />
日本&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;东京,大阪,<br style="font-family: " />
&nbsp;&nbsp;大家一看，估计就明白了（如果不明白，好好补习MAX&nbsp;DECODE和分组）。这种方法无愧为最笨的方法<br style="font-family: " />
<br style="font-family: " />
，但是对某些应用来说，最有效的方法也许就是它。<br style="font-family: " />
2.固定表固定字段函数法&nbsp;灵活性★★&nbsp;性能★★★★&nbsp;难度&nbsp;★★<br style="font-family: " />
&nbsp;&nbsp;此法必须预先知道是哪个表，也就是说一个表就得写一个函数，不过方法1的一个取值就要便捷多了。在大多数应用中，也不会存在大量这种合并字符串的需求。废话完毕，看下面：<br style="font-family: " />
&nbsp;&nbsp;定义一个函数<br style="font-family: " />
create&nbsp;or&nbsp;replace&nbsp;function&nbsp;str_list(&nbsp;str_in&nbsp;in&nbsp;varchar2&nbsp;)--分类字段<br style="font-family: " />
&nbsp;&nbsp;return&nbsp;varchar2<br style="font-family: " />
is<br style="font-family: " />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str_list&nbsp;&nbsp;varchar2(4000)&nbsp;default&nbsp;null;--连接后字符串<br style="font-family: " />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str&nbsp;&nbsp;varchar2(20)&nbsp;default&nbsp;null;--连接符号<br style="font-family: " />
begin<br style="font-family: " />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;x&nbsp;in&nbsp;(&nbsp;select&nbsp;TEST.CITY&nbsp;from&nbsp;TEST&nbsp;where&nbsp;TEST.COUNTRY&nbsp;=&nbsp;str_in&nbsp;)&nbsp;loop<br style="font-family: " />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str_list&nbsp;:=&nbsp;str_list&nbsp;||&nbsp;str&nbsp;||&nbsp;to_char(x.city);<br style="font-family: " />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str&nbsp;:=&nbsp;',&nbsp;';<br style="font-family: " />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end&nbsp;loop;<br style="font-family: " />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;str_list;<br style="font-family: " />
end;<br style="font-family: " />
使用：<br style="font-family: " />
SQL&gt;&nbsp;select&nbsp;DISTINCT(T.country),list_func1(t.country)&nbsp;from&nbsp;test&nbsp;t;<br style="font-family: " />
<br style="font-family: " />
COUNTRY&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LIST_FUNC1(T.COUNTRY)<br style="font-family: " />
--------------------&nbsp;----------------<br style="font-family: " />
中国&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;台北,&nbsp;香港,&nbsp;上海<br style="font-family: " />
日本&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;东京,&nbsp;大阪<br style="font-family: " />
<br style="font-family: " />
SQL&gt;&nbsp;select&nbsp;t.country,str_list(t.country)&nbsp;from&nbsp;test&nbsp;t&nbsp;GROUP&nbsp;BY&nbsp;t.country;<br style="font-family: " />
<br style="font-family: " />
COUNTRY&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;STR_LIST(T.COUNTRY)<br style="font-family: " />
--------------------&nbsp;-----------------------<br style="font-family: " />
中国&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;台北,&nbsp;香港,&nbsp;上海<br style="font-family: " />
日本&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;东京,&nbsp;大阪<br style="font-family: " />
这个时候，使用分组和求唯一都可以满足要求。它的原理就是，根据唯一的分组字段country，在函数里面再次查询该字段对应的所有被合并列，使用PL/SQL将其合并输出。<br style="font-family: " />
3.灵活表函数法&nbsp;灵活性★★★&nbsp;性能★★★&nbsp;难度&nbsp;★★★<br style="font-family: " />
&nbsp;&nbsp;该方法是在方法2的基础上，使用动态SQL，将表名和字段名称传入，从而达到灵活的目的。<br style="font-family: " />
&nbsp;&nbsp;create&nbsp;or&nbsp;replace&nbsp;function&nbsp;str_list2(&nbsp;key_name&nbsp;in&nbsp;varchar2,<br style="font-family: " />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;key&nbsp;&nbsp;in&nbsp;varchar2,<br style="font-family: " />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;coname&nbsp;in&nbsp;varchar2,<br style="font-family: " />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tname&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;in&nbsp;varchar2&nbsp;)<br style="font-family: " />
&nbsp;return&nbsp;varchar2<br style="font-family: " />
as<br style="font-family: " />
&nbsp;&nbsp;&nbsp;&nbsp;type&nbsp;rc&nbsp;is&nbsp;ref&nbsp;cursor;<br style="font-family: " />
&nbsp;&nbsp;&nbsp;&nbsp;str&nbsp;&nbsp;&nbsp;&nbsp;varchar2(4000);<br style="font-family: " />
&nbsp;&nbsp;&nbsp;&nbsp;sep&nbsp;&nbsp;&nbsp;&nbsp;varchar2(2);<br style="font-family: " />
&nbsp;&nbsp;&nbsp;&nbsp;val&nbsp;&nbsp;&nbsp;&nbsp;varchar2(4000);<br style="font-family: " />
&nbsp;&nbsp;&nbsp;&nbsp;cur&nbsp;&nbsp;&nbsp;&nbsp;rc;<br style="font-family: " />
begin<br style="font-family: " />
&nbsp;&nbsp;&nbsp;&nbsp;open&nbsp;cur&nbsp;for&nbsp;'select&nbsp;'||coname||'<br style="font-family: " />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;from&nbsp;'||&nbsp;tname&nbsp;||&nbsp;'<br style="font-family: " />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;where&nbsp;'&nbsp;||&nbsp;key_name&nbsp;||&nbsp;'&nbsp;=&nbsp;:x&nbsp;'<br style="font-family: " />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;using&nbsp;key;<br style="font-family: " />
&nbsp;&nbsp;&nbsp;&nbsp;loop<br style="font-family: " />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fetch&nbsp;cur&nbsp;into&nbsp;val;<br style="font-family: " />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit&nbsp;when&nbsp;cur%notfound;<br style="font-family: " />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str&nbsp;:=&nbsp;str&nbsp;||&nbsp;sep&nbsp;||&nbsp;val;<br style="font-family: " />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sep&nbsp;:=&nbsp;',&nbsp;';<br style="font-family: " />
&nbsp;&nbsp;&nbsp;&nbsp;end&nbsp;loop;<br style="font-family: " />
&nbsp;&nbsp;&nbsp;&nbsp;close&nbsp;cur;<br style="font-family: " />
&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;str;<br style="font-family: " />
end;<br style="font-family: " />
SQL&gt;&nbsp;select&nbsp;test.country,<br style="font-family: " />
&nbsp;&nbsp;2&nbsp;&nbsp;str_list2('COUNTRY',&nbsp;test.country,&nbsp;'CITY',&nbsp;'TEST')&nbsp;emplist<br style="font-family: " />
&nbsp;&nbsp;3&nbsp;&nbsp;from&nbsp;test<br style="font-family: " />
&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;group&nbsp;by&nbsp;test.country<br style="font-family: " />
&nbsp;&nbsp;5&nbsp;&nbsp;/<br style="font-family: " />
<br style="font-family: " />
COUNTRY&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EMPLIST<br style="font-family: " />
--------------------&nbsp;-----------------<br style="font-family: " />
中国&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;台北,&nbsp;香港,&nbsp;上海<br style="font-family: " />
日本&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;东京,&nbsp;大阪<br style="font-family: " />
4.一条SQL法&nbsp;灵活性★★★★&nbsp;性能★★&nbsp;难度&nbsp;★★★★<br style="font-family: " />
&nbsp;&nbsp;一条SQL的法则是某位大师提出的，大家曾经在某个时期都乐此不彼的寻求各种的问题一条SQL法，但是大师的意思似乎被曲解，很多性能差，可读性差，灵活差的SQL都是这个原则产物，所谓画虎不成反成犬类。不过，解决问题始终是第一原则，这里还是给出一个比较有代表性的一条SQL方法。<br style="font-family: " />
SELECT&nbsp;country,max(substr(city,2))&nbsp;city<br style="font-family: " />
&nbsp;&nbsp;FROM<br style="font-family: " />
(SELECT&nbsp;country,sys_connect_by_path(city,',')&nbsp;city<br style="font-family: " />
&nbsp;FROM&nbsp;<br style="font-family: " />
(SELECT&nbsp;country,city,country||rn&nbsp;rchild,country||(rn-1)&nbsp;rfather<br style="font-family: " />
&nbsp;&nbsp;FROM&nbsp;<br style="font-family: " />
&nbsp;&nbsp;(SELECT&nbsp;&nbsp;test.country&nbsp;,test.city,row_number()&nbsp;over&nbsp;(PARTITION&nbsp;BY&nbsp;test.country&nbsp;ORDER&nbsp;BY&nbsp;<br style="font-family: " />
<br style="font-family: " />
test.city)&nbsp;rn&nbsp;<br style="font-family: " />
&nbsp;&nbsp;FROM&nbsp;test))<br style="font-family: " />
CONNECT&nbsp;BY&nbsp;PRIOR&nbsp;rchild=rfather&nbsp;START&nbsp;WITH&nbsp;rfather&nbsp;LIKE&nbsp;'%0')<br style="font-family: " />
&nbsp;GROUP&nbsp;BY&nbsp;country;<br style="font-family: " />
&nbsp;&nbsp;下面分步解析，有4个FROM，就有4次结果集的操作。<br style="font-family: " />
&nbsp;&nbsp;&nbsp;step&nbsp;1&nbsp;给记录加上序号rn<br style="font-family: " />
&nbsp;&nbsp;SQL&gt;&nbsp;SELECT&nbsp;&nbsp;test.country&nbsp;,test.city,row_number()&nbsp;over&nbsp;(PARTITION&nbsp;BY&nbsp;test.country&nbsp;ORDER&nbsp;<br style="font-family: " />
<br style="font-family: " />
BY&nbsp;test.city)&nbsp;rn<br style="font-family: " />
&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;FROM&nbsp;test<br style="font-family: " />
&nbsp;&nbsp;3&nbsp;&nbsp;/<br style="font-family: " />
<br style="font-family: " />
COUNTRY&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CITY&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;RN<br style="font-family: " />
--------------------&nbsp;--------------------&nbsp;----------<br style="font-family: " />
日本&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1<br style="font-family: " />
日本&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2<br style="font-family: " />
中国&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1<br style="font-family: " />
中国&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2<br style="font-family: " />
中国&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3<br style="font-family: " />
&nbsp;&nbsp;step&nbsp;2&nbsp;创造子节点父节点<br style="font-family: " />
SQL&gt;&nbsp;SELECT&nbsp;country,city,country||rn&nbsp;rchild,country||(rn-1)&nbsp;rfather<br style="font-family: " />
&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;FROM<br style="font-family: " />
&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;&nbsp;(SELECT&nbsp;&nbsp;test.country&nbsp;,test.city,row_number()&nbsp;over&nbsp;(PARTITION&nbsp;BY&nbsp;test.country&nbsp;ORDER&nbsp;<br style="font-family: " />
<br style="font-family: " />
BY&nbsp;test.city)&nbsp;rn<br style="font-family: " />
&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;FROM&nbsp;test)<br style="font-family: " />
&nbsp;&nbsp;5&nbsp;&nbsp;/<br style="font-family: " />
&nbsp;日本&nbsp;大阪&nbsp;日本1&nbsp;日本0<br style="font-family: " />
&nbsp;日本&nbsp;东京&nbsp;日本2&nbsp;日本1<br style="font-family: " />
&nbsp;中国&nbsp;上海&nbsp;中国1&nbsp;中国0<br style="font-family: " />
&nbsp;中国&nbsp;台北&nbsp;中国2&nbsp;中国1<br style="font-family: " />
&nbsp;中国&nbsp;香港&nbsp;中国3&nbsp;中国2<br style="font-family: " />
&nbsp;&nbsp;step&nbsp;3&nbsp;利用sys_connect_by_path生成结果集<br style="font-family: " />
SELECT&nbsp;country,sys_connect_by_path(city,',')&nbsp;city<br style="font-family: " />
&nbsp;FROM&nbsp;<br style="font-family: " />
(SELECT&nbsp;country,city,country||rn&nbsp;rchild,country||(rn-1)&nbsp;rfather<br style="font-family: " />
&nbsp;&nbsp;FROM&nbsp;<br style="font-family: " />
&nbsp;&nbsp;(SELECT&nbsp;&nbsp;test.country&nbsp;,test.city,row_number()&nbsp;over&nbsp;(PARTITION&nbsp;BY&nbsp;test.country&nbsp;ORDER&nbsp;BY&nbsp;<br style="font-family: " />
<br style="font-family: " />
test.city)&nbsp;rn&nbsp;<br style="font-family: " />
&nbsp;&nbsp;FROM&nbsp;test))<br style="font-family: " />
CONNECT&nbsp;BY&nbsp;PRIOR&nbsp;rchild=rfather&nbsp;START&nbsp;WITH&nbsp;rfather&nbsp;LIKE&nbsp;'%0'<br style="font-family: " />
&nbsp;日本&nbsp;,大阪<br style="font-family: " />
&nbsp;日本&nbsp;,大阪,东京<br style="font-family: " />
&nbsp;中国&nbsp;,上海<br style="font-family: " />
&nbsp;中国&nbsp;,上海,台北<br style="font-family: " />
&nbsp;中国&nbsp;,上海,台北,香港<br style="font-family: " />
&nbsp;&nbsp;step&nbsp;4&nbsp;最终步骤，筛选结果集合<br style="font-family: " />
SQL&gt;&nbsp;SELECT&nbsp;country,max(substr(city,2))&nbsp;city<br style="font-family: " />
&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;FROM<br style="font-family: " />
&nbsp;&nbsp;3&nbsp;&nbsp;(SELECT&nbsp;country,sys_connect_by_path(city,',')&nbsp;city<br style="font-family: " />
&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;FROM<br style="font-family: " />
&nbsp;&nbsp;5&nbsp;&nbsp;(SELECT&nbsp;country,city,country||rn&nbsp;rchild,country||(rn-1)&nbsp;rfather<br style="font-family: " />
&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;&nbsp;FROM<br style="font-family: " />
&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;&nbsp;(SELECT&nbsp;&nbsp;test.country&nbsp;,test.city,row_number()&nbsp;over&nbsp;(PARTITION&nbsp;BY&nbsp;test.country&nbsp;ORDER&nbsp;<br style="font-family: " />
<br style="font-family: " />
BY&nbsp;test.city)&nbsp;rn<br style="font-family: " />
&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;FROM&nbsp;test))<br style="font-family: " />
&nbsp;&nbsp;9&nbsp;&nbsp;CONNECT&nbsp;BY&nbsp;PRIOR&nbsp;rchild=rfather&nbsp;START&nbsp;WITH&nbsp;rfather&nbsp;LIKE&nbsp;'%0')<br style="font-family: " />
&nbsp;10&nbsp;&nbsp;&nbsp;GROUP&nbsp;BY&nbsp;country;<br style="font-family: " />
<br style="font-family: " />
COUNTRY&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CITY<br style="font-family: " />
--------------------&nbsp;-------<br style="font-family: " />
中国&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;上海,台北,香港<br style="font-family: " />
日本&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;大阪,东京<br style="font-family: " />
<br style="font-family: " />
&nbsp;&nbsp;可谓是，7歪8搞，最后还是弄出来了，呵呵。<br style="font-family: " />
5.自定义聚合函数&nbsp;灵活性★★★★★&nbsp;性能★★★★★&nbsp;难度&nbsp;★★★★★<br style="font-family: " />
&nbsp;&nbsp;最后一个方法是我认为&#8220;王道&#8221;的方法，自定义聚合函数。<br style="font-family: " />
&nbsp;&nbsp;就如何我在本开始说的，为啥oracle没有这种聚合函数呢？我也不知道，但oracle提供了聚合函数的<br style="font-family: " />
<br style="font-family: " />
API可以让我方便的自己定义聚合函数。<br style="font-family: " />
&nbsp;&nbsp;详细可以看Oracle&nbsp;Data&nbsp;Catridge&nbsp;guide这个文档。连接如下：<br style="font-family: " />
&nbsp;&nbsp;http://www.oracle.com.cn/other/9ionlinedoc/appdev.920/a96595/toc.htm<br style="font-family: " />
下面给出一个简单的例子：<br style="font-family: " />
SQL&gt;&nbsp;SELECT&nbsp;t.country,strcat(t.city)&nbsp;FROM&nbsp;test&nbsp;t&nbsp;GROUP&nbsp;BY&nbsp;t.country;<br style="font-family: " />
<br style="font-family: " />
COUNTRY&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;STRCAT(T.CITY)<br style="font-family: " />
--------------------&nbsp;------------------<br style="font-family: " />
日本&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;东京,大阪<br style="font-family: " />
中国&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;台北,香港,上海<br style="font-family: " />
简单吧，和官方的函数一样的便捷高效。<br style="font-family: " />
函数：<br style="font-family: " />
CREATE&nbsp;OR&nbsp;REPLACE&nbsp;FUNCTION&nbsp;strcat(input&nbsp;varchar2&nbsp;)<br style="font-family: " />
RETURN&nbsp;varchar2<br style="font-family: " />
PARALLEL_ENABLE&nbsp;AGGREGATE&nbsp;USING&nbsp;strcat_type;<br style="font-family: " />
TYPE:<br style="font-family: " />
create&nbsp;or&nbsp;replace&nbsp;type&nbsp;strcat_type&nbsp;as&nbsp;object&nbsp;(<br style="font-family: " />
&nbsp;&nbsp;&nbsp;&nbsp;cat_string&nbsp;varchar2(4000),<br style="font-family: " />
&nbsp;&nbsp;&nbsp;&nbsp;static&nbsp;function&nbsp;ODCIAggregateInitialize(cs_ctx&nbsp;In&nbsp;Out&nbsp;strcat_type)&nbsp;return&nbsp;number,<br style="font-family: " />
&nbsp;&nbsp;&nbsp;&nbsp;member&nbsp;function&nbsp;ODCIAggregateIterate(self&nbsp;In&nbsp;Out&nbsp;strcat_type,value&nbsp;in&nbsp;varchar2)&nbsp;return&nbsp;<br style="font-family: " />
<br style="font-family: " />
number,<br style="font-family: " />
&nbsp;&nbsp;&nbsp;&nbsp;member&nbsp;function&nbsp;ODCIAggregateMerge(self&nbsp;In&nbsp;Out&nbsp;strcat_type,ctx2&nbsp;In&nbsp;Out&nbsp;strcat_type)&nbsp;<br style="font-family: " />
<br style="font-family: " />
return&nbsp;number,<br style="font-family: " />
&nbsp;&nbsp;&nbsp;&nbsp;member&nbsp;function&nbsp;ODCIAggregateTerminate(self&nbsp;In&nbsp;Out&nbsp;strcat_type,returnValue&nbsp;Out&nbsp;<br style="font-family: " />
<br style="font-family: " />
varchar2,flags&nbsp;in&nbsp;number)&nbsp;return&nbsp;number<br style="font-family: " />
)<br style="font-family: " />
6.待发掘...<br style="font-family: " />
&nbsp;&nbsp;总结，合并字符串还有更多的方法希望大家能发掘，本文的目的主要是抛砖引玉，如果有新的发现我会继续更新方法。需要注意的问题是，本文采用varchar2为例子，所以长度有限制，oracle的版本对方法的实现也影响。</span>
<img src ="http://www.blogjava.net/xiaohu/aggbug/284164.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xiaohu/" target="_blank">小虎(年轻)</a> 2009-06-25 19:33 <a href="http://www.blogjava.net/xiaohu/archive/2009/06/25/284164.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>表数据从一个表导入到另一张表</title><link>http://www.blogjava.net/xiaohu/archive/2009/06/09/280815.html</link><dc:creator>小虎(年轻)</dc:creator><author>小虎(年轻)</author><pubDate>Tue, 09 Jun 2009 03:30:00 GMT</pubDate><guid>http://www.blogjava.net/xiaohu/archive/2009/06/09/280815.html</guid><wfw:comment>http://www.blogjava.net/xiaohu/comments/280815.html</wfw:comment><comments>http://www.blogjava.net/xiaohu/archive/2009/06/09/280815.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xiaohu/comments/commentRss/280815.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xiaohu/services/trackbacks/280815.html</trackback:ping><description><![CDATA[<p><br />
truncate table info_space</p>
<p>/*--------- 用户空间信息数据导入 -------------*/<br />
insert into info_space(SPACE_ID,OBJ_ID,TOTAL,USEING,FIELD_1,STATE,SPACE_TYPE,ORG_ID) <br />
select user_id,user_id,'50',round(dbms_random.value(1,20),0),'','1','user_space',org_id from sys_user</p>
<p>/*--------- 部门空间信息数据导入 -------------*/<br />
insert into info_space(SPACE_ID,OBJ_ID,TOTAL,USEING,FIELD_1,STATE,SPACE_TYPE,ORG_ID) <br />
select DEPT_ID,DEPT_ID,'200',round(dbms_random.value(1,40),0),'','1','dept_space',org_id from sys_dept</p>
<p>/*--------- 单位空间信息数据导入 -------------*/<br />
insert into info_space(SPACE_ID,OBJ_ID,TOTAL,USEING,FIELD_1,STATE,SPACE_TYPE,ORG_ID) <br />
select ORG_ID,ORG_ID,'500',round(dbms_random.value(1,50),0),'','1','union_space',ORG_ID from sys_org</p>
<p><br />
update info_space m set m.useing= (<br />
select a.file_size from<br />
&nbsp; (<br />
&nbsp; select b.send_person,sum(c.file_size)as file_size from <br />
&nbsp; (select t.bulletin_id,t.send_person from e_bulletin t where t.is_files='1') b,<br />
&nbsp; (select f.object_id,f.file_size/1024 as file_size from file_relation f)c<br />
&nbsp; where b.bulletin_id=c.object_id<br />
&nbsp; group by b.send_person<br />
)a where a.send_person=m.obj_id<br />
)</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>update info_space m set m.useing= (<br />
&nbsp; select a.file_size from<br />
&nbsp; (<br />
&nbsp; select t.bulletin_id,t.send_person,f.file_size/1024 as file_size,p.total,p.useing <br />
&nbsp; from e_bulletin t,file_relation f,cgqfile.sys_files s,info_space p <br />
&nbsp; where t.is_files='1' and t.bulletin_id=f.object_id and f.file_id=s.file_id and p.obj_id=t.send_person</p>
<p>&nbsp; )a where a.send_person=m.obj_id<br />
)</p>
<p>update info_space m set m.useing= (select 1 from 2 where 2.3=m.3)</p>
<p><br />
update info_space m set m.useing= (<br />
select a.file_size from<br />
&nbsp; (<br />
&nbsp; select b.send_person,sum(c.file_size)as file_size from <br />
&nbsp; (select t.bulletin_id,t.send_person from e_bulletin t where t.is_files='1') b,<br />
&nbsp; (select f.object_id,f.file_size/1024 as file_size from file_relation f)c<br />
&nbsp; where b.bulletin_id=c.object_id<br />
&nbsp; group by b.send_person<br />
)a where a.send_person=m.obj_id<br />
)</p>
<img src ="http://www.blogjava.net/xiaohu/aggbug/280815.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xiaohu/" target="_blank">小虎(年轻)</a> 2009-06-09 11:30 <a href="http://www.blogjava.net/xiaohu/archive/2009/06/09/280815.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Oracle中BLOB、CLOB、LONG、LongRaw数据类型的区别</title><link>http://www.blogjava.net/xiaohu/archive/2009/06/05/280215.html</link><dc:creator>小虎(年轻)</dc:creator><author>小虎(年轻)</author><pubDate>Fri, 05 Jun 2009 07:13:00 GMT</pubDate><guid>http://www.blogjava.net/xiaohu/archive/2009/06/05/280215.html</guid><wfw:comment>http://www.blogjava.net/xiaohu/comments/280215.html</wfw:comment><comments>http://www.blogjava.net/xiaohu/archive/2009/06/05/280215.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xiaohu/comments/commentRss/280215.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xiaohu/services/trackbacks/280215.html</trackback:ping><description><![CDATA[<h1>Oracle中BLOB、CLOB、LONG、LongRaw数据类型的区别</h1>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LONG: 可变长的字符串数据，最长2G，LONG具有VARCHAR2列的特性，可以存储长文本一个表中最多一个LONG列 <br />
　　LONG RAW: 可变长二进制数据，最长2G <br />
　　CLOB: 用来存储单字节的字符数据 <br />
　　NCLOB: 用来存储多字节的字符数据 <br />
　　BLOB: 用于存储二进制数据 <br />
　　BFILE: 存储在文件中的二进制数据，这个文件中的数据只能被只读访。但该文件不包含在数据库内。 <br />
　　 <br />
　　CLOB，NCLOB，BLOB都是内部的LOB(Large Object)类型，最长4G，没有　LONG只能有一列的限制
<img src ="http://www.blogjava.net/xiaohu/aggbug/280215.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xiaohu/" target="_blank">小虎(年轻)</a> 2009-06-05 15:13 <a href="http://www.blogjava.net/xiaohu/archive/2009/06/05/280215.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>将表空间 space01 的user01用户的数据导入到表空间space02 的user02用户下的方法</title><link>http://www.blogjava.net/xiaohu/archive/2009/06/05/280209.html</link><dc:creator>小虎(年轻)</dc:creator><author>小虎(年轻)</author><pubDate>Fri, 05 Jun 2009 06:37:00 GMT</pubDate><guid>http://www.blogjava.net/xiaohu/archive/2009/06/05/280209.html</guid><wfw:comment>http://www.blogjava.net/xiaohu/comments/280209.html</wfw:comment><comments>http://www.blogjava.net/xiaohu/archive/2009/06/05/280209.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xiaohu/comments/commentRss/280209.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xiaohu/services/trackbacks/280209.html</trackback:ping><description><![CDATA[首先，收回目的用户的"UNLIMITED TABLESPACE"权限；<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sql语句：revoke unlimited tablespace from user02<br />
其次，取消目的用户在原数据导出表空间中的配额，这样才能迫使IMP把数据导入到用户的默认表空间中去。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sql语句：alter user user02 quota 0M on space01;<br />
然后，将希望导入的表空间设为目的用户的默认表空间，并添加配额。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sql语句：alter user user02 quota 100M on space02;&nbsp;&nbsp; (假设space02的大小大于等于100M)<br />
最后，执行IMP。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sql语句：imp user02/password@sid FILE= test.DMP fromuser=test01 touser=test02; 
<img src ="http://www.blogjava.net/xiaohu/aggbug/280209.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xiaohu/" target="_blank">小虎(年轻)</a> 2009-06-05 14:37 <a href="http://www.blogjava.net/xiaohu/archive/2009/06/05/280209.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Oracle导出程序Exp的使用</title><link>http://www.blogjava.net/xiaohu/archive/2009/05/30/279039.html</link><dc:creator>小虎(年轻)</dc:creator><author>小虎(年轻)</author><pubDate>Sat, 30 May 2009 10:19:00 GMT</pubDate><guid>http://www.blogjava.net/xiaohu/archive/2009/05/30/279039.html</guid><wfw:comment>http://www.blogjava.net/xiaohu/comments/279039.html</wfw:comment><comments>http://www.blogjava.net/xiaohu/archive/2009/05/30/279039.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xiaohu/comments/commentRss/279039.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xiaohu/services/trackbacks/279039.html</trackback:ping><description><![CDATA[<p align="center">&nbsp;</p>
<h2 align="center"><font size="2">Oracle导出程序Exp的使用</font></h2>
<p><font size="2">　　Oracle的导出实用程序(Export utility)允许从数据库提取数据，并且将数据写入操作系统文件。exp使用的基本格式：exp[username[/password[@service&gt;]，以下例举exp常用用法。 </font>
<p><font size="2">1. 获取帮助 </font>
<pre><font size="2">    exp help=y</font></pre>
<p><font size="2">2. 导出一个完整数据库</font></p>
<pre><font size="2">    exp system/manager file=bible_db log=dible_db full=y</font></pre>
<p><font size="2">3. 导出数据库定义而不导出数据</font></p>
<pre><font size="2">    exp system/manager file=bible_db log=dible_db full=y rows=n</font></pre>
<p><font size="2">4. 导出一个或一组指定用户所属的全部表、索引和其他对象</font></p>
<pre><font size="2">    exp system/manager file=seapark log=seapark owner=seapark
exp system/manager file=seapark log=seapark owner=(seapark,amy,amyc,harold)</font></pre>
<blockquote>
<p><font size="2">注意：在导出用户时，尽管已经得到了这个用户的所有对象，但是还是不能得到这些对象引用的任何同义词。解决方法是用以下的SQL*Plus命令创建一个脚本文件，运行这个脚本文件可以获得一个重建seapark所属对象的全部公共同义词的可执行脚本，然后在目标数据库上运行该脚本就可重建同义词了。</font></p>
</blockquote>
<pre><font size="2">    SET LINESIZE 132
SET PAGESIZE 0
SET TRIMSPOOL ON
SPOOL c:\seapark.syn
SELECT 'Create public synonym '||synonym_name
||' for '||table_owner||'.'||table_name||';'
FROM dba_synonyms
WHERE table_owner = 'SEAPARK' AND owner = 'PUBLIC';
SPOOL OFF</font></pre>
<p><font size="2">5. 导出一个或多个指定表</font></p>
<pre><font size="2">    exp seapark/seapark file=tank log=tank tables=tank
exp system/manager file=tank log=tank tables=seapark.tank
exp system/manager file=tank log=tank tables=(seapark.tank,amy.artist)</font></pre>
<p><font size="2">6. 估计导出文件的大小</font></p>
<blockquote>
<p><font size="2">全部表总字节数：<br />
SELECT sum(bytes) <br />
FROM dba_segments <br />
WHERE segment_type = 'TABLE';</font></p>
<p><font size="2">seapark用户所属表的总字节数：<br />
SELECT sum(bytes)<br />
FROM dba_segments<br />
WHERE owner = 'SEAPARK'<br />
AND segment_type = 'TABLE';<br />
<br />
seapark用户下的aquatic_animal表的字节数：<br />
SELECT sum(bytes)<br />
FROM dba_segments<br />
WHERE owner = 'SEAPARK'<br />
AND segment_type = 'TABLE'<br />
AND segment_name = 'AQUATIC_ANIMAL';</font></p>
</blockquote>
<p><font size="2">7. 导出表数据的子集(oracle8i以上)</font></p>
<blockquote>
<p><font size="2">NT系统：</font></p>
<pre><font size="2">exp system/manager query='Where salad_type=''FRUIT''' tables=amy.salad_type
file=fruit log=fruit</font></pre>
<p><font size="2">UNIX系统：</font></p>
<pre><font size="2">exp system/manager query=\"Where salad_type=\'FRUIT\'\" tables=amy.salad_type
file=fruit log=fruit</font></pre>
</blockquote>
<p><font size="2">8. 用多个文件分割一个导出文件</font></p>
<pre><font size="2">    exp system/manager
file=(paycheck_1,paycheck_2,paycheck_3,paycheck_4)
log=paycheck, filesize=1G tables=hr.paycheck</font></pre>
<p><font size="2">9. 使用参数文件</font></p>
<pre><font size="2">    exp system/manager parfile=bible_tables.par</font></pre>
<blockquote>
<p><font size="2">bible_tables.par参数文件：</font></p>
</blockquote>
<pre><font size="2">    #Export the sample tables used for the Oracle8i Database Administrator's Bible.
file=bible_tables
log=bible_tables
tables=(
amy.artist
amy.books
seapark.checkup
seapark.items
)
</font></pre>
<p><font size="2">10. 增量导出</font></p>
<ul>
    <li><font size="2">&#8220;完全&#8221;增量导出(complete)，即备份整个数据库 </font>
    <pre><font size="2">exp system/manager inctype=complete file=990702.dmp</font></pre>
    <li><font size="2">&#8220;增量型&#8221;增量导出(incremental)，即备份上一次备份后改变的数据 </font>
    <pre><font size="2">exp system/manager inctype=incremental file=990702.dmp</font></pre>
    <li><font size="2">&#8220;累计型&#8221;增量导出(cumulative)，即备份上一次&#8220;完全&#8221;导出之后改变的数据 </font>
    <pre><font size="2">exp system/manager inctype=cumulative file=990702.dmp</font></pre>
    <li>
    <pre>
    <table style="font-size: 13px" cellspacing="0" cellpadding="16" width="100%" border="0">
        <tbody>
            <tr>
                <td>
                <p><font size="2">附：常用参数说明</font></p>
                <table bordercolor="#ccccff" cellspacing="0" cellpadding="0" width="100%" border="1">
                    <tbody>
                        <tr bgcolor="#ccccff">
                            <td valign="top" width="12%" bgcolor="#ccccff"><font color="#ff0000" size="2">参数</font></td>
                            <td valign="top" width="88%" bgcolor="#ccccff"><font color="#ff0000" size="2">说明</font></td>
                        </tr>
                        <tr>
                            <td valign="top" width="12%"><font size="2">file</font></td>
                            <td valign="top" width="88%"><font size="2">指定导出文件名。默认值是file=expdat.dmp。默认的文件扩展名是.dmp</font></td>
                        </tr>
                        <tr>
                            <td valign="top" width="12%"><font size="2">filesize</font></td>
                            <td valign="top" width="88%"><font size="2">允许使用多个文件分布式导出数据。默认值为filesize=0，表示所有的数据被写入一个文件。可以选filesize=1024(1K,1M,1G)</font></td>
                        </tr>
                        <tr>
                            <td valign="top" width="12%"><font size="2">full</font></td>
                            <td valign="top" width="88%"><font size="2">full=y时，表示整个数据库将被导出。默认值为full=n</font></td>
                        </tr>
                        <tr>
                            <td valign="top" width="12%"><font size="2">help</font></td>
                            <td valign="top" width="88%"><font size="2">控制帮助屏幕的显示。它的参数是help=y；没有help=n选项</font></td>
                        </tr>
                        <tr>
                            <td valign="top" width="12%"><font size="2">inctype</font></td>
                            <td valign="top" width="88%">
                            <p><font size="2">指定增量导出选项<br />
                            1. complete:完全 <br />
                            2. incremental:增量 (导出上次任何导出后改变的所有数据库对象)<br />
                            3. cumulative:累计 (导出上次cumulative,complete导出后改变的所有数据库对象)</font></p>
                            </td>
                        </tr>
                        <tr>
                            <td valign="top" width="12%"><font size="2">indexes</font></td>
                            <td valign="top" width="88%"><font size="2">指定索引是否被导出。默认值为indexes=y。如果不希望索引被导出，用indexes=n</font></td>
                        </tr>
                        <tr>
                            <td valign="top" width="12%"><font size="2">log</font></td>
                            <td valign="top" width="88%"><font size="2">指定收集导出信息（包括任何错误信息）的逻辑文件名。默认的文件扩展名是.log</font></td>
                        </tr>
                        <tr>
                            <td valign="top" width="12%"><font size="2">owner</font></td>
                            <td valign="top" width="88%"><font size="2">允许为指定用户或一列用户导出数据和对象</font></td>
                        </tr>
                        <tr>
                            <td valign="top" width="12%"><font size="2">parfile</font></td>
                            <td valign="top" width="88%"><font size="2">允许从一个文件读取导出参数</font></td>
                        </tr>
                        <tr>
                            <td valign="top" width="12%"><font size="2">query</font></td>
                            <td valign="top" width="88%"><font size="2">指定从一个或更多的表中导出行的一个子集。它的参数值在where语句中，并且被应用于select语句，在这里export不导出每一个表</font></td>
                        </tr>
                        <tr>
                            <td valign="top" width="12%"><font size="2">rows</font></td>
                            <td valign="top" width="88%"><font size="2">控制表数据是否被导出。默认值为rows=y，表示数据被导出。rows=n表示只想导出表定义，而不想导出表的数据</font></td>
                        </tr>
                        <tr>
                            <td valign="top" width="12%"><font size="2">tables</font></td>
                            <td valign="top" width="88%"><font size="2">允许导入一个指定的表或一列表</font></td>
                        </tr>
                    </tbody>
                </table>
                </td>
            </tr>
        </tbody>
    </table>
    </pre>
    </li>
</ul>
<img src ="http://www.blogjava.net/xiaohu/aggbug/279039.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xiaohu/" target="_blank">小虎(年轻)</a> 2009-05-30 18:19 <a href="http://www.blogjava.net/xiaohu/archive/2009/05/30/279039.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>javascript 向服务器提交的中文乱码问题</title><link>http://www.blogjava.net/xiaohu/archive/2009/05/26/277933.html</link><dc:creator>小虎(年轻)</dc:creator><author>小虎(年轻)</author><pubDate>Tue, 26 May 2009 01:12:00 GMT</pubDate><guid>http://www.blogjava.net/xiaohu/archive/2009/05/26/277933.html</guid><wfw:comment>http://www.blogjava.net/xiaohu/comments/277933.html</wfw:comment><comments>http://www.blogjava.net/xiaohu/archive/2009/05/26/277933.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xiaohu/comments/commentRss/277933.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xiaohu/services/trackbacks/277933.html</trackback:ping><description><![CDATA[<p>写了一个servlet,javascript 向它提交参数时遇到乱码问题，导致插进数据库以后仍然是乱码，现将解决办法记录如下：</p>
<p>function changecode(str){<br />
&nbsp;str = encodeURI(str);<br />
&nbsp;return str;<br />
}&nbsp;&nbsp;&nbsp; </p>
<p>需要传过去的参数调用 changecode(str)；如：</p>
<p>content =changecode(content);</p>
<p>var url=encodeURI("TDIY_SMSCONTENT_Servlet?method=insert&amp;content="+content);</p>
<p>服务器端：String content=request.getParameter("content");<br />
&nbsp; content = URLDecoder.decode(content,"UTF-8");</p>
<p>ok，乱码问题解决。</p>
<img src ="http://www.blogjava.net/xiaohu/aggbug/277933.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xiaohu/" target="_blank">小虎(年轻)</a> 2009-05-26 09:12 <a href="http://www.blogjava.net/xiaohu/archive/2009/05/26/277933.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Spring定时器</title><link>http://www.blogjava.net/xiaohu/archive/2008/04/10/191743.html</link><dc:creator>小虎(年轻)</dc:creator><author>小虎(年轻)</author><pubDate>Thu, 10 Apr 2008 01:34:00 GMT</pubDate><guid>http://www.blogjava.net/xiaohu/archive/2008/04/10/191743.html</guid><wfw:comment>http://www.blogjava.net/xiaohu/comments/191743.html</wfw:comment><comments>http://www.blogjava.net/xiaohu/archive/2008/04/10/191743.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xiaohu/comments/commentRss/191743.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xiaohu/services/trackbacks/191743.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">&lt;!--1.简单定时--&gt;<br />
&lt;</span> <span style="color: #000000">bean&nbsp;id</span> <span style="color: #000000">=</span> <span style="color: #000000">"</span> <span style="color: #000000">myTask</span> <span style="color: #000000">"</span> <span style="color: #000000">&nbsp;</span> <span style="color: #0000ff">class</span> <span style="color: #000000">=</span> <span style="color: #000000">"</span> <span style="color: #000000">usish.po.pub.MyTask</span> <span style="color: #000000">"</span> <span style="color: #000000">&gt;&nbsp;&nbsp;&nbsp;&nbsp; &lt;!--自己定义的任务extends TimerTask --&gt;</span> <span style="color: #000000"><br />
&nbsp;&nbsp;</span> <span style="color: #000000">&lt;</span> <span style="color: #000000">property&nbsp;name</span> <span style="color: #000000">=</span> <span style="color: #000000">"</span> <span style="color: #000000">generatPo</span> <span style="color: #000000">"</span> <span style="color: #000000">&gt;</span> <span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span> <span style="color: #000000">&lt;</span> <span style="color: #000000">ref&nbsp;local</span> <span style="color: #000000">=</span> <span style="color: #000000">"</span> <span style="color: #000000">generatPO</span> <span style="color: #000000">"</span> <span style="color: #000000">/&gt;</span> <span style="color: #000000"><br />
&nbsp;&nbsp;</span> <span style="color: #000000">&lt;/</span> <span style="color: #000000">property</span> <span style="color: #000000">&gt;</span> <span style="color: #000000"><br />
&nbsp;&nbsp;</span> <span style="color: #000000">&lt;</span> <span style="color: #000000">property&nbsp;name</span> <span style="color: #000000">=</span> <span style="color: #000000">"</span> <span style="color: #000000">importData</span> <span style="color: #000000">"</span> <span style="color: #000000">&gt;</span> <span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span> <span style="color: #000000">&lt;</span> <span style="color: #000000">ref&nbsp;local</span> <span style="color: #000000">=</span> <span style="color: #000000">"</span> <span style="color: #000000">importData</span> <span style="color: #000000">"</span> <span style="color: #000000">/&gt;</span> <span style="color: #000000"><br />
&nbsp;&nbsp;</span> <span style="color: #000000">&lt;/</span> <span style="color: #000000">property</span> <span style="color: #000000">&gt;</span> <span style="color: #000000"><br />
</span><span style="color: #000000">&lt;/</span> <span style="color: #000000">bean</span> <span style="color: #000000">&gt;</span> <span style="color: #000000"><br />
<br />
</span><span style="color: #000000">&lt;</span> <span style="color: #000000">bean&nbsp;id</span> <span style="color: #000000">=</span> <span style="color: #000000">"</span> <span style="color: #000000">timer</span> <span style="color: #000000">"</span> <span style="color: #000000">&nbsp;</span> <span style="color: #0000ff">class</span> <span style="color: #000000">=</span> <span style="color: #000000">"</span> <span style="color: #000000">org.springframework.scheduling.timer.TimerFactoryBean</span> <span style="color: #000000">"</span> <span style="color: #000000">&gt;</span> <span style="color: #000000"><br />
&nbsp;&nbsp;</span> <span style="color: #000000">&lt;</span> <span style="color: #000000">property&nbsp;name</span> <span style="color: #000000">=</span> <span style="color: #000000">"</span> <span style="color: #000000">scheduledTimerTasks</span> <span style="color: #000000">"</span> <span style="color: #000000">&gt;</span> <span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span> <span style="color: #000000">&lt;</span> <span style="color: #000000">list</span> <span style="color: #000000">&gt;</span> <span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> <span style="color: #000000">&lt;</span> <span style="color: #000000">ref&nbsp;local</span> <span style="color: #000000">=</span> <span style="color: #000000">"</span> <span style="color: #000000">scheduledTimerTask_1</span> <span style="color: #000000">"</span> <span style="color: #000000">/&gt; &lt;!--定时器的任务链--&gt;</span> <span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span> <span style="color: #000000">&lt;/</span> <span style="color: #000000">list</span> <span style="color: #000000">&gt;</span> <span style="color: #000000"><br />
&nbsp;&nbsp;</span> <span style="color: #000000">&lt;/</span> <span style="color: #000000">property</span> <span style="color: #000000">&gt;</span> <span style="color: #000000"><br />
</span><span style="color: #000000">&lt;/</span> <span style="color: #000000">bean</span> <span style="color: #000000">&gt;</span> <span style="color: #000000"><br />
<br />
</span><span style="color: #000000">&lt;</span> <span style="color: #000000">bean&nbsp;id</span> <span style="color: #000000">=</span> <span style="color: #000000">"</span> <span style="color: #000000">scheduledTimerTask_1</span> <span style="color: #000000">"</span> <span style="color: #000000">&nbsp;</span> <span style="color: #0000ff">class</span> <span style="color: #000000">=</span> <span style="color: #000000">"</span> <span style="color: #000000">org.springframework.scheduling.timer.ScheduledTimerTask</span> <span style="color: #000000">"</span> <span style="color: #000000">&gt; &lt;!--任务链启动任务--&gt;</span> <span style="color: #000000"><br />
&nbsp;&nbsp;</span> <span style="color: #000000">&lt;</span> <span style="color: #000000">property&nbsp;name</span> <span style="color: #000000">=</span> <span style="color: #000000">"</span> <span style="color: #000000">timerTask</span> <span style="color: #000000">"</span> <span style="color: #000000">&gt;</span> <span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span> <span style="color: #000000">&lt;</span> <span style="color: #000000">ref&nbsp;local</span> <span style="color: #000000">=</span> <span style="color: #000000">"</span> <span style="color: #000000">myTask</span> <span style="color: #000000">"</span> <span style="color: #000000">/&gt;</span> <span style="color: #000000"><br />
&nbsp;&nbsp;</span> <span style="color: #000000">&lt;/</span> <span style="color: #000000">property</span> <span style="color: #000000">&gt;</span> <span style="color: #000000"><br />
&nbsp;&nbsp;</span> <span style="color: #000000">&lt;</span> <span style="color: #000000">property&nbsp;name</span> <span style="color: #000000">=</span> <span style="color: #000000">"</span> <span style="color: #000000">delay</span> <span style="color: #000000">"</span> <span style="color: #000000">&gt;</span> <span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span> <span style="color: #000000">&lt;</span> <span style="color: #000000">value</span> <span style="color: #000000">&gt;</span> <span style="color: #000000">1000</span> <span style="color: #000000">&lt;/</span> <span style="color: #000000">value</span> <span style="color: #000000">&gt;</span> <span style="color: #000000"><br />
&nbsp;&nbsp;</span> <span style="color: #000000">&lt;/</span> <span style="color: #000000">property</span> <span style="color: #000000">&gt;</span> <span style="color: #000000"><br />
&nbsp;&nbsp;</span> <span style="color: #000000">&lt;</span> <span style="color: #000000">property&nbsp;name</span> <span style="color: #000000">=</span> <span style="color: #000000">"</span> <span style="color: #000000">period</span> <span style="color: #000000">"</span> <span style="color: #000000">&gt;</span> <span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span> <span style="color: #000000">&lt;</span> <span style="color: #000000">value</span> <span style="color: #000000">&gt;</span> <span style="color: #000000">50000</span> <span style="color: #000000">&lt;/</span> <span style="color: #000000">value</span> <span style="color: #000000">&gt;</span> <span style="color: #000000"><br />
&nbsp;&nbsp;</span> <span style="color: #000000">&lt;/</span> <span style="color: #000000">property</span> <span style="color: #000000">&gt;</span> <span style="color: #000000"><br />
</span><span style="color: #000000">&lt;/</span> <span style="color: #000000">bean</span> <span style="color: #000000">&gt;</span> <br />
<br />
&lt;!--2.使用Quartz定时--&gt;<br />
&lt;!-- scheduler --&gt;<br />
&nbsp;&lt;bean id="cacheClearStar" class="com.ztgame.memcached.CacheClearStar" /&gt;<br />
&nbsp;&lt;bean id="cacheClearStarJob"<br />
&nbsp;&nbsp;&nbsp;&nbsp; class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;property name="targetObject"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;ref local="cacheClearStar" /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/property&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;property name="targetMethod"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;value&gt;clear&lt;/value&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/property&gt;<br />
&nbsp;&lt;/bean&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;bean id="cacheClearStarTrigger"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; class="org.springframework.scheduling.quartz.CronTriggerBean"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;property name="jobDetail"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;ref local="cacheClearStarJob" /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/property&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;property name="cronExpression"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;value&gt;0 0 0 * * ?&lt;/value&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/property&gt;<br />
&nbsp; &lt;/bean&gt;<br />
&nbsp; &lt;bean id="scheduler"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; class="org.springframework.scheduling.quartz.SchedulerFactoryBean" lazy-init="false"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;property name="triggers"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;ref local="cacheClearStarTrigger" /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/property&gt;<br />
&nbsp; &lt;/bean&gt;<br />
&nbsp;&lt;!-- scheduler end --&gt;</div>
<p><span style="font-size: 12pt"><span style="font-size: 12pt"><span style="font-size: 10pt">一个cron表达式有至少6个（也可能7个）有空格分隔的时间元素。<br />
按顺序依次为 <br />
1.秒（0~59） <br />
2.分钟（0~59） <br />
</span></span></span><span style="font-size: 12pt"><span style="font-size: 12pt"><span style="font-size: 10pt">3.小时（0~23） </span></span></span><span style="font-size: 12pt"><span style="font-size: 12pt"><span style="font-size: 10pt"><br />
4.天（月）（0~31，但是你需要考虑你月的天数） <br />
</span></span></span><span style="font-size: 12pt"><span style="font-size: 12pt"><span style="font-size: 10pt">5.月（0~11） <br />
</span></span></span><span style="font-size: 12pt"><span style="font-size: 12pt"><span style="font-size: 10pt">6.天（星期）（1~7 1=SUN 或 SUN，MON，TUE，WED，THU，FRI，SAT） <br />
</span></span></span><span style="font-size: 12pt"><span style="font-size: 12pt"><span style="font-size: 10pt">7.年份（1970－2099）</span></span></span></p>
<p><span style="font-size: 12pt"><span style="font-size: 12pt"><span style="font-size: 10pt">其中每个元素可以是一个值(如6),一个连续区间(9-12),一个间隔时间(8-18/4)(/表示每隔4小时),一个列表(1,3,5),通配符。<br />
由于"月份中的日期"和"星期中的日期"这两个元素互斥的,必须要对其中一个设置?. </span></span></span></p>
<p><span style="font-size: 12pt"><span style="font-size: 12pt"><span style="font-size: 10pt">0 0 10,14,16 * * ? 每天上午10点，下午2点，4点<br />
0 0/30 9-17 * * ??? 朝九晚五工作时间内每半小时<br />
0 0 12 ? * WED 表示每个星期三中午12点 </span></span></span></p>
<p><span style="font-size: 12pt"><span style="font-size: 12pt"><span style="font-size: 10pt">有些子表达式能包含一些范围或列表 <br />
</span></span></span><span style="font-size: 12pt"><span style="font-size: 12pt"><span style="font-size: 10pt">例如：子表达式（天（星期））可以为 &#8220;MON-FRI&#8221;，&#8220;MON，WED，FRI&#8221;，&#8220;MON-WED,SAT&#8221; </span></span></span></p>
<p><span style="font-size: 12pt"><span style="font-size: 12pt"><span style="font-size: 10pt">&#8220;*&#8221;字符代表所有可能的值 <br />
</span></span></span><span style="font-size: 12pt"><span style="font-size: 12pt"><span style="font-size: 10pt">因此，&#8220;*&#8221;在子表达式（月）里表示每个月的含义，&#8220;*&#8221;在子表达式（天（星期））表示星期的每一天 </span></span></span></p>
<p><span style="font-size: 12pt"><span style="font-size: 12pt"><span style="font-size: 10pt">&#8220;/&#8221;字符用来指定数值的增量 <br />
</span></span></span><span style="font-size: 12pt"><span style="font-size: 12pt"><span style="font-size: 10pt">例如：在子表达式（分钟）里的&#8220;0/15&#8221;表示从第0分钟开始，每15分钟 ;<br />
</span></span></span><span style="font-size: 12pt"><span style="font-size: 12pt"><span style="font-size: 10pt">在子表达式（分钟）里的&#8220;3/20&#8221;表示从第3分钟开始，每20分钟（它和&#8220;3，23，43&#8221;）的含义一样 <br />
</span></span></span><br />
<span style="font-size: 12pt"><span style="font-size: 12pt"><span style="font-size: 10pt">&#8220;？&#8221;字符仅被用于天（月）和天（星期）两个子表达式，表示不指定值 <br />
</span></span></span><span style="font-size: 12pt"><span style="font-size: 12pt"><span style="font-size: 10pt">当2个子表达式其中之一被指定了值以后，为了避免冲突，需要将另一个子表达式的值设为&#8220;？&#8221; </span></span></span></p>
<p><span style="font-size: 12pt"></span></p>
<p><span style="font-size: 12pt"><span style="font-size: 12pt"><span style="font-size: 10pt">&#8220;L&#8221; 字符仅被用于天（月）和天（星期）两个子表达式，它是单词&#8220;last&#8221;的缩写 </span></span></span></p>
<p><span style="font-size: 12pt"><span style="font-size: 12pt"><span style="font-size: 10pt">但是它在两个子表达式里的含义是不同的。 </span></span></span></p>
<p><span style="font-size: 12pt"><span style="font-size: 12pt"><span style="font-size: 10pt">在天（月）子表达式中，&#8220;L&#8221;表示一个月的最后一天 ,<br />
</span></span></span><span style="font-size: 12pt"><span style="font-size: 12pt"><span style="font-size: 10pt">在天（星期）自表达式中，&#8220;L&#8221;表示一个星期的最后一天，也就是SAT </span></span></span></p>
<p><span style="font-size: 12pt"><span style="font-size: 12pt"><span style="font-size: 10pt">如果在&#8220;L&#8221;前有具体的内容，它就具有其他的含义了 </span></span></span></p>
<p><span style="font-size: 12pt"><span style="font-size: 12pt"><span style="font-size: 10pt">例如：&#8220;6L&#8221;表示这个月的倒数第６天，&#8220;ＦＲＩＬ&#8221;表示这个月的最后一个星期五 </span></span></span></p>
<p><span style="font-size: 12pt"><span style="font-size: 10pt"><span style="font-size: 12pt">注意：在使用&#8220;L&#8221;参数时，不要指定列表或范围，因为这会导致问题</span></span></span></p>
<img src ="http://www.blogjava.net/xiaohu/aggbug/191743.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xiaohu/" target="_blank">小虎(年轻)</a> 2008-04-10 09:34 <a href="http://www.blogjava.net/xiaohu/archive/2008/04/10/191743.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>jsp出现getOutputStream() has already been called for this response异常的原因和解决方法</title><link>http://www.blogjava.net/xiaohu/archive/2007/10/22/154850.html</link><dc:creator>小虎(年轻)</dc:creator><author>小虎(年轻)</author><pubDate>Mon, 22 Oct 2007 01:37:00 GMT</pubDate><guid>http://www.blogjava.net/xiaohu/archive/2007/10/22/154850.html</guid><wfw:comment>http://www.blogjava.net/xiaohu/comments/154850.html</wfw:comment><comments>http://www.blogjava.net/xiaohu/archive/2007/10/22/154850.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xiaohu/comments/commentRss/154850.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xiaohu/services/trackbacks/154850.html</trackback:ping><description><![CDATA[<p>在tomcat5下jsp中出现此错误一般都是在jsp中使用了输出流（如输出图片验证码，文件下载等），<br />
没有妥善处理好的原因。<br />
具体的原因就是<br />
在tomcat中jsp编译成servlet之后在函数_jspService(HttpServletRequest request, HttpServletResponse response)的最后<br />
有一段这样的代码<br />
finally {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);<br />
&nbsp;&nbsp;&nbsp; }<br />
这里是在释放在jsp中使用的对象，会调用response.getWriter(),因为这个方法是和<br />
response.getOutputStream()相冲突的！所以会出现以上这个异常。</p>
<p>然后当然是要提出解决的办法，其实挺简单的,在使用完输出流以后调用以下两行代码即可：<br />
<strong><font color="#ff0000">out.clear();<br />
out = pageContext.pushBody();</font></strong></p>
<img src ="http://www.blogjava.net/xiaohu/aggbug/154850.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xiaohu/" target="_blank">小虎(年轻)</a> 2007-10-22 09:37 <a href="http://www.blogjava.net/xiaohu/archive/2007/10/22/154850.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>