﻿<?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-Dust Of Dream</title><link>http://www.blogjava.net/windonly/</link><description>知识真的是一个圆么?</description><language>zh-cn</language><lastBuildDate>Sat, 11 Oct 2008 08:47:48 GMT</lastBuildDate><pubDate>Sat, 11 Oct 2008 08:47:48 GMT</pubDate><ttl>60</ttl><item><title>JMail 简单应用-文件传输</title><link>http://www.blogjava.net/windonly/archive/2008/03/19/187159.html</link><dc:creator>Anemone</dc:creator><author>Anemone</author><pubDate>Wed, 19 Mar 2008 02:03:00 GMT</pubDate><guid>http://www.blogjava.net/windonly/archive/2008/03/19/187159.html</guid><wfw:comment>http://www.blogjava.net/windonly/comments/187159.html</wfw:comment><comments>http://www.blogjava.net/windonly/archive/2008/03/19/187159.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.blogjava.net/windonly/comments/commentRss/187159.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/windonly/services/trackbacks/187159.html</trackback:ping><description><![CDATA[&#160;&#160;&#160; 日常工作中,常常要将在公司做的东西拷回家,或者要从家里拷东西到公司,但是如果用U盘拷又太麻烦,上web发邮件又有点烦,所以就做了下面的小程序,发送前切版里的内容到指定邮箱来传递文件.<br />
&#160;&#160;&#160; 相关技术点:<br />
&#160;&#160;&#160; 1.JMail邮件发送<br />
&#160;&#160;&#160; 2.剪切板提取<br />
&#160;&#160;  具体代码实现如下:<br />
<div style="border-left-color: #cccccc; padding-top: 4px; padding-right: 5px; padding-bottom: 4px; padding-left: 4px; background-color: #eeeeee; font-size: 13px; width: 98%; "><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #008000;">/*</span><span style="color: #008000;"><br />
&#160;*&#160;Created&#160;on&#160;2008-3-5<br />
&#160;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">package</span><span style="color: #000000;">&#160;org.dueam.ft;<br />
<br />
</span><span style="color: #0000ff;">import</span><span style="color: #000000;">&#160;java.awt.HeadlessException;<br />
</span><span style="color: #0000ff;">import</span><span style="color: #000000;">&#160;java.awt.Toolkit;<br />
</span><span style="color: #0000ff;">import</span><span style="color: #000000;">&#160;java.awt.datatransfer.DataFlavor;<br />
</span><span style="color: #0000ff;">import</span><span style="color: #000000;">&#160;java.awt.datatransfer.UnsupportedFlavorException;<br />
</span><span style="color: #0000ff;">import</span><span style="color: #000000;">&#160;java.io.File;<br />
</span><span style="color: #0000ff;">import</span><span style="color: #000000;">&#160;java.io.IOException;<br />
</span><span style="color: #0000ff;">import</span><span style="color: #000000;">&#160;java.text.SimpleDateFormat;<br />
</span><span style="color: #0000ff;">import</span><span style="color: #000000;">&#160;java.util.Date;<br />
</span><span style="color: #0000ff;">import</span><span style="color: #000000;">&#160;java.util.List;<br />
<br />
</span><span style="color: #0000ff;">import</span><span style="color: #000000;">&#160;org.apache.commons.mail.EmailAttachment;<br />
</span><span style="color: #0000ff;">import</span><span style="color: #000000;">&#160;org.apache.commons.mail.EmailException;<br />
</span><span style="color: #0000ff;">import</span><span style="color: #000000;">&#160;org.apache.commons.mail.MultiPartEmail;<br />
<br />
</span><span style="color: #0000ff;">import</span><span style="color: #000000;">&#160;sun.misc.BASE64Encoder;<br />
<br />
</span><span style="color: #008000;">/**</span><span style="color: #008000;"><br />
&#160;*&#160;剪切板内容发生<br />
&#160;*&#160;</span><span style="color: #808080;">@author</span><span style="color: #008000;">&#160;&lt;a&#160;href="mailto:windonly@gmail.com">Anemone&lt;/a><br />
&#160;*&#160;hz,zj,china(2008-3-5)<br />
&#160;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&#160;</span><span style="color: #0000ff;">class</span><span style="color: #000000;">&#160;ClipboardFileTransmission&#160;{<br />
<br />
&#160;&#160;&#160;&#160;</span><span style="color: #008000;">/**</span><span style="color: #008000;"><br />
&#160;&#160;&#160;&#160;&#160;*&#160;</span><span style="color: #808080;">@param</span><span style="color: #008000;">&#160;args<br />
&#160;&#160;&#160;&#160;&#160;*&#160;</span><span style="color: #808080;">@throws</span><span style="color: #008000;">&#160;EmailException<br />
&#160;&#160;&#160;&#160;&#160;*&#160;</span><span style="color: #808080;">@throws</span><span style="color: #008000;">&#160;IOException<br />
&#160;&#160;&#160;&#160;&#160;*&#160;</span><span style="color: #808080;">@throws</span><span style="color: #008000;">&#160;UnsupportedFlavorException<br />
&#160;&#160;&#160;&#160;&#160;*&#160;</span><span style="color: #808080;">@throws</span><span style="color: #008000;">&#160;HeadlessException<br />
&#160;&#160;&#160;&#160;&#160;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br />
&#160;&#160;&#160;&#160;@SuppressWarnings(</span><span style="color: #000000;">"</span><span style="color: #000000;">unchecked</span><span style="color: #000000;">"</span><span style="color: #000000;">)<br />
&#160;&#160;&#160;&#160;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&#160;</span><span style="color: #0000ff;">static</span><span style="color: #000000;">&#160;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&#160;main(String[]&#160;args)&#160;</span><span style="color: #0000ff;">throws</span><span style="color: #000000;">&#160;EmailException,&#160;HeadlessException,&#160;UnsupportedFlavorException,<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;IOException&#160;{<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;String&#160;context&#160;</span><span style="color: #000000;">=</span><span style="color: #000000;">&#160;</span><span style="color: #0000ff;">null</span><span style="color: #000000;">;<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;List</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">File</span><span style="color: #000000;">></span><span style="color: #000000;">&#160;fileList&#160;</span><span style="color: #000000;">=</span><span style="color: #000000;">&#160;</span><span style="color: #0000ff;">null</span><span style="color: #000000;">;<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="color: #008000;">/**</span><span style="color: #008000;"><br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;*&#160;处理前切版<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">&#160;(DataFlavor&#160;df&#160;:&#160;Toolkit.getDefaultToolkit().getSystemClipboard().getAvailableDataFlavors())&#160;{<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="color: #008000;">//</span><span style="color: #008000;">如果拷贝的是文本内容</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&#160;(df.equals(DataFlavor.stringFlavor))&#160;{<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;context&#160;</span><span style="color: #000000;">=</span><span style="color: #000000;">&#160;(String)&#160;Toolkit.getDefaultToolkit().getSystemClipboard().getData(DataFlavor.stringFlavor);<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="color: #0000ff;">else</span><span style="color: #000000;">&#160;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&#160;(df.equals(DataFlavor.javaFileListFlavor))&#160;{<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="color: #008000;">//</span><span style="color: #008000;">如果拷贝的是文件则当附件发送</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;fileList&#160;</span><span style="color: #000000;">=</span><span style="color: #000000;">&#160;(List</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">File</span><span style="color: #000000;">></span><span style="color: #000000;">)&#160;Toolkit.getDefaultToolkit().getSystemClipboard().getData(<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;DataFlavor.javaFileListFlavor);<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&#160;((</span><span style="color: #0000ff;">null</span><span style="color: #000000;">&#160;</span><span style="color: #000000;">==</span><span style="color: #000000;">&#160;context&#160;</span><span style="color: #000000;">||</span><span style="color: #000000;">&#160;</span><span style="color: #000000;">""</span><span style="color: #000000;">.equals(context))&#160;</span><span style="color: #000000;">&amp;&amp;</span><span style="color: #000000;">&#160;(fileList&#160;</span><span style="color: #000000;">==</span><span style="color: #000000;">&#160;</span><span style="color: #0000ff;">null</span><span style="color: #000000;">&#160;</span><span style="color: #000000;">||</span><span style="color: #000000;">&#160;fileList.isEmpty()))&#160;{<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">;<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&#160;(</span><span style="color: #0000ff;">null</span><span style="color: #000000;">&#160;</span><span style="color: #000000;">==</span><span style="color: #000000;">&#160;context&#160;</span><span style="color: #000000;">||</span><span style="color: #000000;">&#160;</span><span style="color: #000000;">""</span><span style="color: #000000;">.equals(context))&#160;{<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;context&#160;</span><span style="color: #000000;">=</span><span style="color: #000000;">&#160;</span><span style="color: #000000;">"</span><span style="color: #000000;">具体资料请看附件</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}<br />
<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;MultiPartEmail&#160;email&#160;</span><span style="color: #000000;">=</span><span style="color: #000000;">&#160;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&#160;MultiPartEmail();<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="color: #008000;">//</span><span style="color: #008000;">&#160;发送服务器</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;email.setHostName(</span><span style="color: #000000;">"</span><span style="color: #000000;">smtp.163.com</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="color: #008000;">//</span><span style="color: #008000;">服务器用户和密码(如果你自己搞了台不用验证的邮件服务器就不用了)</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;email.setAuthentication(</span><span style="color: #000000;">"</span><span style="color: #000000;">XXX</span><span style="color: #000000;">"</span><span style="color: #000000;">,&#160;</span><span style="color: #000000;">"</span><span style="color: #000000;">XXX</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="color: #008000;">//</span><span style="color: #008000;">接收的邮箱</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;email.addTo(</span><span style="color: #000000;">"</span><span style="color: #000000;">XXX@gmail.com</span><span style="color: #000000;">"</span><span style="color: #000000;">,&#160;</span><span style="color: #000000;">"</span><span style="color: #000000;">我的资料库</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="color: #008000;">//</span><span style="color: #008000;">发送服务器的邮件地址,现在很多邮件提供商都有验证这个同用户名是否对应,还是老老实实填真实的吧</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;email.setFrom(</span><span style="color: #000000;">"</span><span style="color: #000000;">XXX@163.com</span><span style="color: #000000;">"</span><span style="color: #000000;">,&#160;</span><span style="color: #000000;">"</span><span style="color: #000000;">Anemone</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;email.setSubject(</span><span style="color: #000000;">"</span><span style="color: #000000;">[日常资料传递]-</span><span style="color: #000000;">"</span><span style="color: #000000;">&#160;</span><span style="color: #000000;">+</span><span style="color: #000000;">&#160;getTime());<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="color: #008000;">//</span><span style="color: #008000;">文本编码</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;email.setCharset(</span><span style="color: #000000;">"</span><span style="color: #000000;">utf-8</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;email.setMsg(context);<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&#160;(</span><span style="color: #0000ff;">null</span><span style="color: #000000;">&#160;</span><span style="color: #000000;">!=</span><span style="color: #000000;">&#160;fileList)<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">&#160;(File&#160;f&#160;:&#160;fileList)&#160;{<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&#160;(f.exists()&#160;</span><span style="color: #000000;">&amp;&amp;</span><span style="color: #000000;">&#160;f.isFile())&#160;{<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="color: #008000;">//</span><span style="color: #008000;">处理附件</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;EmailAttachment&#160;attachment&#160;</span><span style="color: #000000;">=</span><span style="color: #000000;">&#160;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&#160;EmailAttachment();<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;attachment.setPath(f.getPath());<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;attachment.setDisposition(EmailAttachment.ATTACHMENT);<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;attachment.setDescription(getTime()&#160;</span><span style="color: #000000;">+</span><span style="color: #000000;">&#160;</span><span style="color: #000000;">"</span><span style="color: #000000;">By&#160;Anemone</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;BASE64Encoder&#160;enc&#160;</span><span style="color: #000000;">=</span><span style="color: #000000;">&#160;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&#160;BASE64Encoder();<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="color: #008000;">//</span><span style="color: #008000;">附件中文名问题</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;attachment.setName(</span><span style="color: #000000;">"</span><span style="color: #000000;">=?GBK?B?</span><span style="color: #000000;">"</span><span style="color: #000000;">&#160;</span><span style="color: #000000;">+</span><span style="color: #000000;">&#160;enc.encode(f.getName().getBytes())&#160;</span><span style="color: #000000;">+</span><span style="color: #000000;">&#160;</span><span style="color: #000000;">"</span><span style="color: #000000;">?=</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;email.attach(attachment);<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}<br />
<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;email.send();<br />
<br />
&#160;&#160;&#160;&#160;}<br />
<br />
&#160;&#160;&#160;&#160;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&#160;</span><span style="color: #0000ff;">static</span><span style="color: #000000;">&#160;String&#160;getTime()&#160;{<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;SimpleDateFormat&#160;df&#160;</span><span style="color: #000000;">=</span><span style="color: #000000;">&#160;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&#160;SimpleDateFormat(</span><span style="color: #000000;">"</span><span style="color: #000000;">yyyy-MM-dd&#160;HH:mm</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&#160;df.format(</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&#160;Date());<br />
&#160;&#160;&#160;&#160;}<br />
<br />
}<br />
</span></div>
以上代码在163和gmail之间测试通过过,建议用exe4j打成EXE文件,然后扔到system32目录下面,这样只要想发送资料的时候,只要复制下资料,再执行下这个命令就一切都OK了.<br />
相关类包:<a target="_blank" href="http://www.blogjava.net/Files/windonly/%E9%82%AE%E4%BB%B6%E5%8F%91%E9%80%81%E7%9B%B8%E5%85%B3JAR%E5%8C%85.rar">下载</a><br />
<br />
<br />
<img src ="http://www.blogjava.net/windonly/aggbug/187159.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/windonly/" target="_blank">Anemone</a> 2008-03-19 10:03 <a href="http://www.blogjava.net/windonly/archive/2008/03/19/187159.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ArrayUtils学习笔记</title><link>http://www.blogjava.net/windonly/archive/2008/02/26/182278.html</link><dc:creator>Anemone</dc:creator><author>Anemone</author><pubDate>Tue, 26 Feb 2008 10:23:00 GMT</pubDate><guid>http://www.blogjava.net/windonly/archive/2008/02/26/182278.html</guid><wfw:comment>http://www.blogjava.net/windonly/comments/182278.html</wfw:comment><comments>http://www.blogjava.net/windonly/archive/2008/02/26/182278.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/windonly/comments/commentRss/182278.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/windonly/services/trackbacks/182278.html</trackback:ping><description><![CDATA[<strong><span style="font-size: 18pt;"><span style="font-size: 14pt;">
ArrayUtils 拥有以下方法:</span></span></strong>
<dl>
<dt>toString</dt>
<dd>将一个数组转换成String,用于打印数组</dd>
<dt>isEquals</dt>
<dd>判断两个数组是否相等,采用EqualsBuilder进行判断</dd>
<dt>toMap</dt>
<dd>将一个数组转换成Map,如果数组里是Entry则其Key与Value就是新Map的Key和Value,如果是Object[]则Object[0]为KeyObject[1]为Value</dd>
<dt>clone</dt>
<dd>拷贝数组</dd>
<dt>subarray</dt>
<dd>截取子数组</dd>
<dt>isSameLength</dt>
<dd>判断两个数组长度是否相等</dd>
<dt>getLength</dt>
<dd>获得数组的长度</dd>
<dt>isSameType</dt>
<dd>判段两个数组的类型是否相同</dd>
<dt>reverse</dt>
<dd>数组反转</dd>
<dt>indexOf</dt>
<dd>查询某个Object在数组中的位置,可以指定起始搜索位置</dd>
<dt>lastIndexOf</dt>
<dd>反向查询某个Object在数组中的位置,可以指定起始搜索位置</dd>
<dt>contains</dt>
<dd>查询某个Object是否在数组中</dd>
<dt>toObject</dt>
<dd>将基本数据类型转换成外包型数据</dd>
<dt>isEmpty</dt>
<dd>判断数组是否为空(null和length=0的时候都为空)</dd>
<dt>addAll</dt>
<dd>合并两个数组</dd>
<dt>add</dt>
<dd>添加一个数据到数组</dd>
<dt>remove</dt>
<dd>删除数组中某个位置上的数据</dd>
<dt>removeElement</dt>
<dd>删除数组中某个对象(从正序开始搜索,删除第一个)</dd>
</dl>eg:<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;1.打印数组</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ArrayUtils.toString(</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">[]&nbsp;{&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">4</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">&nbsp;});</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;{1,4,2,3}</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ArrayUtils.toString(</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Integer[]&nbsp;{&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">4</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">&nbsp;});</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;{1,4,2,3}</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ArrayUtils.toString(</span><span style="color: #0000ff;">null</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">I'm&nbsp;nothing!</span><span style="color: #000000;">"</span><span style="color: #000000;">);</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;I'm&nbsp;nothing!<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;2.判断两个数组是否相等,采用EqualsBuilder进行判断<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;只有当两个数组的数据类型,长度,数值顺序都相同的时候,该方法才会返回True<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;2.1&nbsp;两个数组完全相同</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ArrayUtils.isEquals(</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">[]&nbsp;{&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">&nbsp;},&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">[]&nbsp;{&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">&nbsp;});</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;true<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;2.2&nbsp;数据类型以及长度相同,但各个Index上的数据不是一一对应</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ArrayUtils.isEquals(</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">[]&nbsp;{&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">&nbsp;},&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">[]&nbsp;{&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">&nbsp;});</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;true<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;2.3&nbsp;数组的长度不一致</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ArrayUtils.isEquals(</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">[]&nbsp;{&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">&nbsp;},&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">[]&nbsp;{&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">&nbsp;});</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;false<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;2.4&nbsp;不同的数据类型</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ArrayUtils.isEquals(</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">[]&nbsp;{&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">&nbsp;},&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">long</span><span style="color: #000000;">[]&nbsp;{&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">&nbsp;});</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;false</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ArrayUtils.isEquals(</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Object[]&nbsp;{&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">&nbsp;},&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Object[]&nbsp;{&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;(</span><span style="color: #0000ff;">long</span><span style="color: #000000;">)&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">&nbsp;});</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;false<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;2.5&nbsp;Null处理,如果输入的两个数组都为null时候则返回true</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ArrayUtils.isEquals(</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">[]&nbsp;{&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">&nbsp;},&nbsp;</span><span style="color: #0000ff;">null</span><span style="color: #000000;">);</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;false</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ArrayUtils.isEquals(</span><span style="color: #0000ff;">null</span><span style="color: #000000;">,&nbsp;</span><span style="color: #0000ff;">null</span><span style="color: #000000;">);</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;true<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;3.将一个数组转换成Map<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;如果数组里是Entry则其Key与Value就是新Map的Key和Value,如果是Object[]则Object[0]为KeyObject[1]为Value<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;对于Object[]数组里的元素必须是instanceof&nbsp;Object[]或者Entry,即不支持基本数据类型数组<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;如:ArrayUtils.toMap(new&nbsp;Object[]{new&nbsp;int[]{1,2},new&nbsp;int[]{3,4}})会出异常</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ArrayUtils.toMap(</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Object[]&nbsp;{&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Object[]&nbsp;{&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">&nbsp;},&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Object[]&nbsp;{&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">4</span><span style="color: #000000;">&nbsp;}&nbsp;});</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;{1=2,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;3=4}</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ArrayUtils.toMap(</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Integer[][]&nbsp;{&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Integer[]&nbsp;{&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">&nbsp;},&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Integer[]&nbsp;{&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">4</span><span style="color: #000000;">&nbsp;}&nbsp;});</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;{1=2,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;3=4}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;4.拷贝数组</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ArrayUtils.clone(</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">[]&nbsp;{&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">4</span><span style="color: #000000;">&nbsp;});</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;{3,2,4}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;5.截取数组</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ArrayUtils.subarray(</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">[]&nbsp;{&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">4</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">5</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">6</span><span style="color: #000000;">&nbsp;},&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">4</span><span style="color: #000000;">);</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;{1,5}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;起始index为2(即第三个数据)结束index为4的数组</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ArrayUtils.subarray(</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">[]&nbsp;{&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">4</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">5</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">6</span><span style="color: #000000;">&nbsp;},&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">10</span><span style="color: #000000;">);</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;{1,5,6}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;如果endIndex大于数组的长度,则取beginIndex之后的所有数据<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;6.判断两个数组的长度是否相等</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ArrayUtils.isSameLength(</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Integer[]&nbsp;{&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">5</span><span style="color: #000000;">&nbsp;},&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Long[]&nbsp;{&nbsp;</span><span style="color: #000000;">2L</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">8L</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">10L</span><span style="color: #000000;">&nbsp;});</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;true<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;7.获得数组的长度</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ArrayUtils.getLength(</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">long</span><span style="color: #000000;">[]&nbsp;{&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">23</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">&nbsp;});</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;3<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;8.判段两个数组的类型是否相同</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ArrayUtils.isSameType(</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">long</span><span style="color: #000000;">[]&nbsp;{&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">&nbsp;},&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">long</span><span style="color: #000000;">[]&nbsp;{&nbsp;</span><span style="color: #000000;">8</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">5</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">6</span><span style="color: #000000;">&nbsp;});</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;true</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ArrayUtils.isSameType(</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">[]&nbsp;{&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">&nbsp;},&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">long</span><span style="color: #000000;">[]&nbsp;{&nbsp;</span><span style="color: #000000;">8</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">5</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">6</span><span style="color: #000000;">&nbsp;});</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;false<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;9.数组反转</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">[]&nbsp;array&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">[]&nbsp;{&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">5</span><span style="color: #000000;">&nbsp;};<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ArrayUtils.reverse(array);</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;{5,2,1}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;10.查询某个Object在数组中的位置,可以指定起始搜索位置,找不到返回-1<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;10.1&nbsp;从正序开始搜索,搜到就返回当前的index否则返回-1</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ArrayUtils.indexOf(</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">[]&nbsp;{&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">6</span><span style="color: #000000;">&nbsp;},&nbsp;</span><span style="color: #000000;">6</span><span style="color: #000000;">);</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;2</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ArrayUtils.indexOf(</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">[]&nbsp;{&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">6</span><span style="color: #000000;">&nbsp;},&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">);</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;-1<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;10.2&nbsp;从逆序开始搜索,搜到就返回当前的index否则返回-1</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ArrayUtils.lastIndexOf(</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">[]&nbsp;{&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">6</span><span style="color: #000000;">&nbsp;},&nbsp;</span><span style="color: #000000;">6</span><span style="color: #000000;">);</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;2<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;11.查询某个Object是否在数组中</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ArrayUtils.contains(</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">[]&nbsp;{&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">&nbsp;},&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">);</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;true<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;对于Object数据是调用该Object.equals方法进行判断</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ArrayUtils.contains(</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Object[]&nbsp;{&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">&nbsp;},&nbsp;</span><span style="color: #000000;">1L</span><span style="color: #000000;">);</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;false<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;12.基本数据类型数组与外包型数据类型数组互转</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ArrayUtils.toObject(</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">[]&nbsp;{&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">&nbsp;});</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;new</span><span style="color: #008000;"> Integer[]{Integer,Integer}</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ArrayUtils.toPrimitive(</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Integer[]&nbsp;{&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Integer(</span><span style="color: #000000;">1</span><span style="color: #000000;">),&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Integer(</span><span style="color: #000000;">2</span><span style="color: #000000;">)&nbsp;});</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;new </span><span style="color: #008000;">int[]{1,2}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;13.判断数组是否为空(null和length=0的时候都为空)</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ArrayUtils.isEmpty(</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">[</span><span style="color: #000000;">0</span><span style="color: #000000;">]);</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;true</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ArrayUtils.isEmpty(</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Object[]&nbsp;{&nbsp;</span><span style="color: #0000ff;">null</span><span style="color: #000000;">&nbsp;});</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;false<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;14.合并两个数组</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ArrayUtils.addAll(</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">[]&nbsp;{&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">5</span><span style="color: #000000;">&nbsp;},&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">[]&nbsp;{&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">4</span><span style="color: #000000;">&nbsp;});</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;{1,3,5,2,4}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;15.添加一个数据到数组</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ArrayUtils.add(</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">[]&nbsp;{&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">5</span><span style="color: #000000;">&nbsp;},&nbsp;</span><span style="color: #000000;">4</span><span style="color: #000000;">);</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;{1,3,5,4}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;16.删除数组中某个位置上的数据</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ArrayUtils.remove(</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">[]&nbsp;{&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">5</span><span style="color: #000000;">&nbsp;},&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">);</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;{1,5}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;17.删除数组中某个对象(从正序开始搜索,删除第一个)</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ArrayUtils.removeElement(</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">[]&nbsp;{&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">5</span><span style="color: #000000;">&nbsp;},&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">);</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;{1,5}</span></div>
<img src ="http://www.blogjava.net/windonly/aggbug/182278.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/windonly/" target="_blank">Anemone</a> 2008-02-26 18:23 <a href="http://www.blogjava.net/windonly/archive/2008/02/26/182278.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>罗莎来了</title><link>http://www.blogjava.net/windonly/archive/2007/10/08/151162.html</link><dc:creator>Anemone</dc:creator><author>Anemone</author><pubDate>Mon, 08 Oct 2007 13:34:00 GMT</pubDate><guid>http://www.blogjava.net/windonly/archive/2007/10/08/151162.html</guid><wfw:comment>http://www.blogjava.net/windonly/comments/151162.html</wfw:comment><comments>http://www.blogjava.net/windonly/archive/2007/10/08/151162.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/windonly/comments/commentRss/151162.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/windonly/services/trackbacks/151162.html</trackback:ping><description><![CDATA[来杭州这么久从来没见过这么厉害的台风,竟然可以把杭城改造成半个威尼斯.不知道为什么雨天总是给人压抑的感觉,虽然自认为很喜欢雨天,但是却无法将扑灭心中沮丧的心情,很想一笑而过,可惜往往无功而返.有时候很想问问自己,你真的了解镜子里那个人么?或者说你想去了解吗?
<img src ="http://www.blogjava.net/windonly/aggbug/151162.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/windonly/" target="_blank">Anemone</a> 2007-10-08 21:34 <a href="http://www.blogjava.net/windonly/archive/2007/10/08/151162.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>发帖机的应对策略</title><link>http://www.blogjava.net/windonly/archive/2007/10/01/150104.html</link><dc:creator>Anemone</dc:creator><author>Anemone</author><pubDate>Mon, 01 Oct 2007 12:58:00 GMT</pubDate><guid>http://www.blogjava.net/windonly/archive/2007/10/01/150104.html</guid><wfw:comment>http://www.blogjava.net/windonly/comments/150104.html</wfw:comment><comments>http://www.blogjava.net/windonly/archive/2007/10/01/150104.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/windonly/comments/commentRss/150104.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/windonly/services/trackbacks/150104.html</trackback:ping><description><![CDATA[现在网络上发帖机横行,如何在尽可能少地影响用户体验的同时阻止发帖机是每个网站面临的课题.<br />
<strong>一 常见发帖机类型及其原理</strong><br />
1)程序自动构建字段内容,然后通过程序自动POST到服务器.<br />
2)通过按键精灵之类的模拟器模拟键盘和鼠标操作,以达到自动发帖的目的.<br />
<strong>二 发帖机行为分析</strong><br />
发帖机主要是为了发布广告信息,所以一般发帖机都是采用即时创建帐号==&gt;然后发帖==&gt;然后闪人流程散布信息.<br />
<strong>三 解决方案</strong><br />
1)通过增加一个特殊字段,系统可以通过验证这个特殊字段来确认当前信息是否是系统实时产生.这种方法可以有效抑制通过程序自动POST数据的发帖机,但是无法阻止模拟器类型的发帖机.<br />
2)验证码.验证码是最有效的阻止发帖机的手段,但验证码也影响了用户的发帖体验,根据发帖机的行为分析我们可以采用如果当前用户注册还未满一个月或者发帖数还未达到10之前必需输入验证码,这样既不影响老用户的发帖体验又可以达到抑制发帖机的作用.<br />
<strong>四 特殊字段产生策略</strong><br />
可以采用时间戳+时间戳加密(<a href="http://www.blogjava.net/windonly/archive/2007/09/22/147314.html" target="_blank">加密方案参见我的另一篇文章</a>),然后在服务器验证当前客户端传上来的时间戳是否在允许的timeout之内. 
<img src ="http://www.blogjava.net/windonly/aggbug/150104.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/windonly/" target="_blank">Anemone</a> 2007-10-01 20:58 <a href="http://www.blogjava.net/windonly/archive/2007/10/01/150104.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Oracle SQL培训笔记[开发人员][三]</title><link>http://www.blogjava.net/windonly/archive/2007/10/01/150038.html</link><dc:creator>Anemone</dc:creator><author>Anemone</author><pubDate>Mon, 01 Oct 2007 04:48:00 GMT</pubDate><guid>http://www.blogjava.net/windonly/archive/2007/10/01/150038.html</guid><wfw:comment>http://www.blogjava.net/windonly/comments/150038.html</wfw:comment><comments>http://www.blogjava.net/windonly/archive/2007/10/01/150038.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/windonly/comments/commentRss/150038.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/windonly/services/trackbacks/150038.html</trackback:ping><description><![CDATA[<p><strong>四 索引与分页--怎么样SQL运行的更快 </strong></p>
<ol>
    <li><em><strong>正确的使用索引</strong></em><br />
    Where条件落在索引上<br />
    不要在where的=前使用函数，否则无法使用索引<br />
    Is Null可能无法使用索引<br />
    不正确的隐式转换可能不能使用索引<br />
    如果能在索引获得数据，就不要回表<br />
    如果是复合索引，注意第2个字段以后，可能使用不到索引
    <li><em><strong>正确的使用hint</strong></em><br />
    如果有别名，一定要有别名<br />
    格式如/*+ index(t index_name) */
    <li><strong><em>无需回表查询的分页写法</em></strong><br />
    存在以下表T1(A,B,C,D) T1上有索引字段(B,C) .如果只是查B,C两个字段则:
    <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;</span><span style="color: #808080">*</span><span style="color: #000000"><br />
    <img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;(</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;tt.b,&nbsp;tt.c,&nbsp;rownum&nbsp;</span><span style="color: #0000ff">as</span><span style="color: #000000">&nbsp;rn<br />
    <img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;(</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;t.b,&nbsp;t.c&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;t1&nbsp;t&nbsp;</span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;c&nbsp;</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">order</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">by</span><span style="color: #000000">&nbsp;t.c)&nbsp;tt<br />
    <img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;rownum&nbsp;</span><span style="color: #808080">&lt;</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #800000">3</span><span style="color: #000000">)<br />
    <img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;</span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;rn&nbsp;</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #800000">1</span></div>
    <li><em><strong>需回表查询的分页写法</strong></em><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;</span><span style="color: #008080">/*</span><span style="color: #008080">+&nbsp;ordered&nbsp;use_nl(t,t1)&nbsp;</span><span style="color: #008080">*/</span><span style="color: #000000">&nbsp;<br />
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">*</span><span style="color: #000000">&nbsp;<br />
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;(</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;rid&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;(<br />
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;rownum&nbsp;rn,rid&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;(<br />
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;rowid&nbsp;rid&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;t1<br />
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;c</span><span style="color: #808080">=</span><span style="font-weight: bold; color: #800000">2</span><span style="color: #000000">&nbsp;<br />
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&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;c&nbsp;</span><span style="color: #0000ff">desc</span><span style="color: #000000">)&nbsp;<br />
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;rownum&nbsp;</span><span style="color: #808080">&lt;=</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #800000">50</span><span style="color: #000000">)&nbsp;<br />
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;rn&nbsp;</span><span style="color: #808080">&gt;=</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">)&nbsp;t,<br />
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t1<br />
    </span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;t.rid</span><span style="color: #808080">=</span><span style="color: #000000">t1.rowid;</span></div>
    </li>
</ol>
<p><br />
</p>
 <img src ="http://www.blogjava.net/windonly/aggbug/150038.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/windonly/" target="_blank">Anemone</a> 2007-10-01 12:48 <a href="http://www.blogjava.net/windonly/archive/2007/10/01/150038.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Oracle SQL培训笔记[开发人员][二] </title><link>http://www.blogjava.net/windonly/archive/2007/10/01/150035.html</link><dc:creator>Anemone</dc:creator><author>Anemone</author><pubDate>Mon, 01 Oct 2007 04:25:00 GMT</pubDate><guid>http://www.blogjava.net/windonly/archive/2007/10/01/150035.html</guid><wfw:comment>http://www.blogjava.net/windonly/comments/150035.html</wfw:comment><comments>http://www.blogjava.net/windonly/archive/2007/10/01/150035.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/windonly/comments/commentRss/150035.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/windonly/services/trackbacks/150035.html</trackback:ping><description><![CDATA[<p><strong>三 null的那些事</strong> </p>
<ol>
    <li>在order 中，简单把null认为是最大</li>
    <li>与null的运算，返回null
    <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">SQL</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">select</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;</span><span style="color: #0000ff">null</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;dual;<br />
    <br />
    &nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #808080">+</span><span style="color: #0000ff">NULL</span><span style="color: #000000"><br />
    </span><span style="color: #008080">--</span><span style="color: #008080">--------</span></div>
    </li>
    <li>与null的字符串合并，忽略null
    <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">SQL</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">Hi</span><span style="color: #ff0000">'</span><span style="color: #808080">||</span><span style="color: #0000ff">null</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;dual;<br />
    <br />
    </span><span style="color: #ff0000">'</span><span style="color: #ff0000">HI</span><span style="color: #ff0000">'</span><span style="color: #808080">||</span><span style="color: #0000ff">NULL</span><span style="color: #000000"><br />
    </span><span style="color: #008080">--</span><span style="color: #008080">--------</span><span style="color: #008080"><br />
    </span><span style="color: #000000">Hi</span></div>
    </li>
    <li>Null的查询为is null</li>
    <li>Count(field)，不包括null</li>
    <li>如果索引条目全为null，则索引不记录null</li>
    <li>In/not in与null</li>
    <li>Exists/not exists与null
    <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">SQL</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">*</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;t1;<br />
    <br />
    A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B<br />
    </span><span style="color: #008080">--</span><span style="color: #008080">--------&nbsp;----------</span><span style="color: #008080"><br />
    </span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000"><br />
    </span><span style="font-weight: bold; color: #800000">2</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
    </span><span style="font-weight: bold; color: #800000">3</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
    <br />
    SQL</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">*</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;t2;<br />
    <br />
    A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B<br />
    </span><span style="color: #008080">--</span><span style="color: #008080">--------&nbsp;----------</span><span style="color: #008080"><br />
    </span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000"><br />
    </span><span style="font-weight: bold; color: #800000">2</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
    <br />
    SQL</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">*</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;t1&nbsp;</span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;b&nbsp;</span><span style="color: #808080">in</span><span style="color: #000000">&nbsp;(</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;B&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;t2);<br />
    <br />
    A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B<br />
    </span><span style="color: #008080">--</span><span style="color: #008080">--------&nbsp;----------</span><span style="color: #008080"><br />
    </span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000"><br />
    <br />
    SQL</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">*</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;t1&nbsp;</span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;b&nbsp;</span><span style="color: #808080">not</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">in</span><span style="color: #000000">&nbsp;(</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;B&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;t2);<br />
    <br />
    A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B<br />
    </span><span style="color: #008080">--</span><span style="color: #008080">--------&nbsp;----------</span><span style="color: #008080"><br />
    </span><span style="color: #000000"><br />
    SQL</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">*</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;t1&nbsp;</span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">exists</span><span style="color: #000000">&nbsp;(</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">*</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;t2&nbsp;</span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;t2.b&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;t1.b);<br />
    <br />
    A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B<br />
    </span><span style="color: #008080">--</span><span style="color: #008080">--------&nbsp;----------</span><span style="color: #008080"><br />
    </span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000"><br />
    <br />
    SQL</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">*</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;t1&nbsp;</span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">not</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">exists</span><span style="color: #000000">&nbsp;(</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">*</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;t2&nbsp;</span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;t2.b&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;t1.b);<br />
    <br />
    A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B<br />
    </span><span style="color: #008080">--</span><span style="color: #008080">--------&nbsp;----------</span><span style="color: #008080"><br />
    </span><span style="font-weight: bold; color: #800000">3</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
    </span><span style="font-weight: bold; color: #800000">2</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></div>
    <br />
    exists主要用于片面的,有满足一个条件的即可,&nbsp;&nbsp;所以速度快很多.&nbsp;&nbsp;&nbsp; in &nbsp; 主要用于具体的集合操作, &nbsp; 有多少满足条件.<br />
    </li>
</ol>
 <img src ="http://www.blogjava.net/windonly/aggbug/150035.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/windonly/" target="_blank">Anemone</a> 2007-10-01 12:25 <a href="http://www.blogjava.net/windonly/archive/2007/10/01/150035.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Oracle SQL培训笔记[开发人员][一]</title><link>http://www.blogjava.net/windonly/archive/2007/10/01/150029.html</link><dc:creator>Anemone</dc:creator><author>Anemone</author><pubDate>Mon, 01 Oct 2007 04:09:00 GMT</pubDate><guid>http://www.blogjava.net/windonly/archive/2007/10/01/150029.html</guid><wfw:comment>http://www.blogjava.net/windonly/comments/150029.html</wfw:comment><comments>http://www.blogjava.net/windonly/archive/2007/10/01/150029.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/windonly/comments/commentRss/150029.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/windonly/services/trackbacks/150029.html</trackback:ping><description><![CDATA[<p>近日公司的Oracle牛人给我们开发人员做了一次有关Oracle的培训,感觉收获颇大,故记录下来,好他日温习之用. </p>
<p><strong>一 常用的SQL语句</strong> </p>
<ol>
    <li>
    <p>select name,count(*) from table where .. group by ... 中能查询的字段只能为group by的字段. </p>
    <li>select * from table where rownum &lt; 5 order by id 中查询出来的结果不是按数据中的ID排序的,而只是将select * from table where rownum &lt; 5 的结果集按ID排序,所以如果你要按ID排序,你需要用子查询实现:
    <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;</span><span style="color: #808080">*</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;(&nbsp;</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">*</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">table</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">order</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">by</span><span style="color: #000000">&nbsp;id&nbsp;)&nbsp;</span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;rownum&nbsp;</span><span style="color: #808080">&lt;</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #800000">5</span><span style="color: #000000">&nbsp;</span></div>
    <li>
    <p>select * from table where name like 'A\_%' escape '\';将'\'后面的字符不当关键字来处理,这个字符可以自定义. </p>
    <li>
    <p>insert into test(id,name) values(9,'It''s life'); or ||chr(39)|| 如果你想插入'可以使用''或者||chr(39)||方式插入. </p>
    <li>
    <p>如果你想将T1中B更新为T2中的B值,千万要注意限定T1的范围,否则T1的全部列将会更新,如update t1 t set t.B = (select tt.B from t2 tt where tt.A = t.A)将会t1中所有列都更新,如果t2中不存在对应值,则t1中的值则为NULL,所以应该将以上语句改造成update t1 t set t.B = (select tt.B from t2 tt where tt.A = t.A) where t.A in (select A from t2) </p>
    <li>
    <p>number(5,2):如果用 insert into test values(123.235)进行插入时,将会使用四舍五入的方式插入即值为123.24;如果是insert into test values(12345)则无法插入数据 </p>
    </li>
</ol>
<p><strong>二 Oracle 函数</strong><br />
</p>
<ol>
    <li>一般函数是数据库设定的字符集来计算,现在一般的oracle都是16位,所以一个汉字长度为1,而函数后面加b则按字节来计算如:length('中国')=2 lenghtb('中国')=4 .
    <li>Substr与substrb 字符串截取函数,负数代表从右开始截取
    <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">SQL</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;substr(</span><span style="color: #ff0000">'</span><span style="color: #ff0000">我是中国人</span><span style="color: #ff0000">'</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">2</span><span style="color: #000000">)&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;dual;<br />
    <br />
    SUBSTR(</span><span style="color: #ff0000">'</span><span style="color: #ff0000">我是中国人</span><span style="color: #ff0000">'</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">2</span><span style="color: #000000">)<br />
    </span><span style="color: #008080">--</span><span style="color: #008080">--------------------</span><span style="color: #008080"><br />
    </span><span style="color: #000000">是中国人<br />
    <br />
    SQL</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;substrb(</span><span style="color: #ff0000">'</span><span style="color: #ff0000">我是中国人</span><span style="color: #ff0000">'</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">2</span><span style="color: #000000">)&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;dual;<br />
    <br />
    SUBSTRB(</span><span style="color: #ff0000">'</span><span style="color: #ff0000">我是中国人</span><span style="color: #ff0000">'</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">2</span><span style="color: #000000">)<br />
    </span><span style="color: #008080">--</span><span style="color: #008080">---------------------</span><span style="color: #008080"><br />
    </span><span style="color: #000000">&nbsp;是中国人<br />
    <br />
    SQL</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;substr(</span><span style="color: #ff0000">'</span><span style="color: #ff0000">我是中国人</span><span style="color: #ff0000">'</span><span style="color: #000000">,</span><span style="color: #808080">-</span><span style="font-weight: bold; color: #800000">2</span><span style="color: #000000">)&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;dual;<br />
    <br />
    SUBSTR(</span><span style="color: #ff0000">'</span><span style="color: #ff0000">我是中国人</span><span style="color: #ff0000">'</span><span style="color: #000000">,</span><span style="color: #808080">-</span><span style="font-weight: bold; color: #800000">2</span><span style="color: #000000">)<br />
    </span><span style="color: #008080">--</span><span style="color: #008080">---------------------</span><span style="color: #008080"><br />
    </span><span style="color: #000000">国人<br />
    <br />
    SQL</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;substrb(</span><span style="color: #ff0000">'</span><span style="color: #ff0000">我是中国人</span><span style="color: #ff0000">'</span><span style="color: #000000">,</span><span style="color: #808080">-</span><span style="font-weight: bold; color: #800000">2</span><span style="color: #000000">)&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;dual;<br />
    <br />
    SUBSTRB(</span><span style="color: #ff0000">'</span><span style="color: #ff0000">我是中国人</span><span style="color: #ff0000">'</span><span style="color: #000000">,</span><span style="color: #808080">-</span><span style="font-weight: bold; color: #800000">2</span><span style="color: #000000">)<br />
    </span><span style="color: #008080">--</span><span style="color: #008080">----------------------</span><span style="color: #008080"><br />
    </span><span style="color: #000000">人</span></div>
    <br />
    Length与lengthb 长度计算函数 <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">SQL</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;length(</span><span style="color: #ff0000">'</span><span style="color: #ff0000">我是中国人</span><span style="color: #ff0000">'</span><span style="color: #000000">)&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;dual;<br />
    <br />
    LENGTH(</span><span style="color: #ff0000">'</span><span style="color: #ff0000">我是中国人</span><span style="color: #ff0000">'</span><span style="color: #000000">)<br />
    </span><span style="color: #008080">--</span><span style="color: #008080">------------------</span><span style="color: #008080"><br />
    </span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-weight: bold; color: #800000">5</span><span style="color: #000000"><br />
    <br />
    SQL</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;lengthb(</span><span style="color: #ff0000">'</span><span style="color: #ff0000">我是中国人</span><span style="color: #ff0000">'</span><span style="color: #000000">)&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;dual;<br />
    <br />
    LENGTHB(</span><span style="color: #ff0000">'</span><span style="color: #ff0000">我是中国人</span><span style="color: #ff0000">'</span><span style="color: #000000">)<br />
    </span><span style="color: #008080">--</span><span style="color: #008080">-------------------</span><span style="color: #008080"><br />
    </span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-weight: bold; color: #800000">10</span></div>
    Instr与Instrb 字符串查找函数 instr(原字符串,查的字符串,起始位置,第几个匹配) 返回字符串位置,找不到返回0 .<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">SQL</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;Instr(</span><span style="color: #ff0000">'</span><span style="color: #ff0000">abcabcdabcdef</span><span style="color: #ff0000">'</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">a</span><span style="color: #ff0000">'</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">3</span><span style="color: #000000">)&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;dual;<br />
    <br />
    INSTR(</span><span style="color: #ff0000">'</span><span style="color: #ff0000">ABCABCDABCDEF</span><span style="color: #ff0000">'</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">A</span><span style="color: #ff0000">'</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">3</span><span style="color: #000000">)<br />
    </span><span style="color: #008080">--</span><span style="color: #008080">----------------------------</span><span style="color: #008080"><br />
    </span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-weight: bold; color: #800000">8</span></div>
    <br />
    Upper与lower&nbsp;大小写转换函数
    <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">SQL</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">upper</span><span style="color: #000000">(</span><span style="color: #ff0000">'</span><span style="color: #ff0000">AaBbCc</span><span style="color: #ff0000">'</span><span style="color: #000000">)&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;dual;<br />
    <br />
    </span><span style="color: #ff00ff">UPPER</span><span style="color: #000000">(</span><span style="color: #ff0000">'</span><span style="color: #ff0000">AABBCC</span><span style="color: #ff0000">'</span><span style="color: #000000">)<br />
    </span><span style="color: #008080">--</span><span style="color: #008080">-------------</span><span style="color: #008080"><br />
    </span><span style="color: #000000">AABBCC<br />
    <br />
    SQL</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">lower</span><span style="color: #000000">(</span><span style="color: #ff0000">'</span><span style="color: #ff0000">AaBbCc</span><span style="color: #ff0000">'</span><span style="color: #000000">)&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;dual;<br />
    <br />
    </span><span style="color: #ff00ff">LOWER</span><span style="color: #000000">(</span><span style="color: #ff0000">'</span><span style="color: #ff0000">AABBCC</span><span style="color: #ff0000">'</span><span style="color: #000000">)<br />
    </span><span style="color: #008080">--</span><span style="color: #008080">-------------</span><span style="color: #008080"><br />
    </span><span style="color: #000000">aabbcc</span></div>
    <br />
    Trim/Rtrim/Ltrim 字符串trim函数
    <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">SQL</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;trim(</span><span style="color: #ff0000">'</span><span style="color: #ff0000">&nbsp;A&nbsp;B&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #000000">)&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;dual;<br />
    <br />
    TRIM(</span><span style="color: #ff0000">'</span><span style="color: #ff0000">AB</span><span style="color: #ff0000">'</span><span style="color: #000000">)<br />
    </span><span style="color: #008080">--</span><span style="color: #008080">--------</span><span style="color: #008080"><br />
    </span><span style="color: #000000">A&nbsp;B<br />
    <br />
    SQL</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">rtrim</span><span style="color: #000000">(</span><span style="color: #ff0000">'</span><span style="color: #ff0000">xABx</span><span style="color: #ff0000">'</span><span style="color: #000000">,</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: #0000ff">from</span><span style="color: #000000">&nbsp;dual;<br />
    <br />
    </span><span style="color: #ff00ff">RTRIM</span><span style="color: #000000">(</span><span style="color: #ff0000">'</span><span style="color: #ff0000">XABX</span><span style="color: #ff0000">'</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">X</span><span style="color: #ff0000">'</span><span style="color: #000000">)<br />
    </span><span style="color: #008080">--</span><span style="color: #008080">---------------</span><span style="color: #008080"><br />
    </span><span style="color: #000000">xAB<br />
    <br />
    SQL</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">ltrim</span><span style="color: #000000">(</span><span style="color: #ff0000">'</span><span style="color: #ff0000">xABx</span><span style="color: #ff0000">'</span><span style="color: #000000">,</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: #0000ff">from</span><span style="color: #000000">&nbsp;dual;<br />
    <br />
    </span><span style="color: #ff00ff">LTRIM</span><span style="color: #000000">(</span><span style="color: #ff0000">'</span><span style="color: #ff0000">XABX</span><span style="color: #ff0000">'</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">X</span><span style="color: #ff0000">'</span><span style="color: #000000">)<br />
    </span><span style="color: #008080">--</span><span style="color: #008080">---------------</span><span style="color: #008080"><br />
    </span><span style="color: #000000">ABx</span></div>
    <br />
    Trunc 截取函数(不进行四舍五入)<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">SQL</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;trunc(</span><span style="font-weight: bold; color: #800000">1234.123456</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">-2</span><span style="color: #ff0000">'</span><span style="color: #000000">)&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;dual;<br />
    <br />
    TRUNC(</span><span style="font-weight: bold; color: #800000">1234.123456</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">-2</span><span style="color: #ff0000">'</span><span style="color: #000000">)<br />
    </span><span style="color: #008080">--</span><span style="color: #008080">---------------------</span><span style="color: #008080"><br />
    </span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-weight: bold; color: #800000">1200</span><span style="color: #000000"><br />
    <br />
    SQL</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;trunc(</span><span style="font-weight: bold; color: #800000">1234.123456</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">2</span><span style="color: #ff0000">'</span><span style="color: #000000">)&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;dual;<br />
    <br />
    TRUNC(</span><span style="font-weight: bold; color: #800000">1234.123456</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">2</span><span style="color: #ff0000">'</span><span style="color: #000000">)<br />
    </span><span style="color: #008080">--</span><span style="color: #008080">--------------------</span><span style="color: #008080"><br />
    </span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-weight: bold; color: #800000">1234.12</span><span style="color: #000000"><br />
    <br />
    SQL</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;trunc(</span><span style="font-weight: bold; color: #800000">1234.123456</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">4</span><span style="color: #ff0000">'</span><span style="color: #000000">)&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;dual;<br />
    <br />
    TRUNC(</span><span style="font-weight: bold; color: #800000">1234.123456</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">4</span><span style="color: #ff0000">'</span><span style="color: #000000">)<br />
    </span><span style="color: #008080">--</span><span style="color: #008080">--------------------</span><span style="color: #008080"><br />
    </span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-weight: bold; color: #800000">1234.1234</span><span style="color: #000000"><br />
    <br />
    SQL</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;trunc(</span><span style="font-weight: bold; color: #800000">1234.123456</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">5</span><span style="color: #ff0000">'</span><span style="color: #000000">)&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;dual;<br />
    <br />
    TRUNC(</span><span style="font-weight: bold; color: #800000">1234.123456</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">5</span><span style="color: #ff0000">'</span><span style="color: #000000">)<br />
    </span><span style="color: #008080">--</span><span style="color: #008080">--------------------</span><span style="color: #008080"><br />
    </span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-weight: bold; color: #800000">1234.12345</span><span style="color: #000000"><br />
    <br />
    SQL</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;trunc(sysdate,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">yy</span><span style="color: #ff0000">'</span><span style="color: #000000">)&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;dual;<br />
    <br />
    TRUNC(SYSDATE,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">YY</span><span style="color: #ff0000">'</span><span style="color: #000000">)<br />
    </span><span style="color: #008080">--</span><span style="color: #008080">-----------------</span><span style="color: #008080"><br />
    </span><span style="font-weight: bold; color: #800000">2007</span><span style="color: #808080">-</span><span style="font-weight: bold; color: #800000">01</span><span style="color: #808080">-</span><span style="font-weight: bold; color: #800000">01</span><span style="color: #000000"><br />
    <br />
    SQL</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;trunc(sysdate,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">mi</span><span style="color: #ff0000">'</span><span style="color: #000000">)&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;dual;<br />
    <br />
    TRUNC(SYSDATE,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">MI</span><span style="color: #ff0000">'</span><span style="color: #000000">)<br />
    </span><span style="color: #008080">--</span><span style="color: #008080">-----------------</span><span style="color: #008080"><br />
    </span><span style="font-weight: bold; color: #800000">2007</span><span style="color: #808080">-</span><span style="font-weight: bold; color: #800000">10</span><span style="color: #808080">-</span><span style="font-weight: bold; color: #800000">01</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #800000">11</span><span style="color: #000000">:</span><span style="font-weight: bold; color: #800000">55</span><span style="color: #000000">:</span><span style="font-weight: bold; color: #800000">00</span><span style="color: #000000"><br />
    <br />
    SQL</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;trunc(sysdate,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">dd</span><span style="color: #ff0000">'</span><span style="color: #000000">)&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;dual;<br />
    <br />
    TRUNC(SYSDATE,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">DD</span><span style="color: #ff0000">'</span><span style="color: #000000">)<br />
    </span><span style="color: #008080">--</span><span style="color: #008080">-----------------</span><span style="color: #008080"><br />
    </span><span style="font-weight: bold; color: #800000">2007</span><span style="color: #808080">-</span><span style="font-weight: bold; color: #800000">10</span><span style="color: #808080">-</span><span style="font-weight: bold; color: #800000">01</span><span style="color: #000000"><br />
    <br />
    SQL</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;trunc(sysdate,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">day</span><span style="color: #ff0000">'</span><span style="color: #000000">)&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;dual;<br />
    <br />
    TRUNC(SYSDATE,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">DAY</span><span style="color: #ff0000">'</span><span style="color: #000000">)<br />
    </span><span style="color: #008080">--</span><span style="color: #008080">------------------</span><span style="color: #008080"><br />
    </span><span style="font-weight: bold; color: #800000">2007</span><span style="color: #808080">-</span><span style="font-weight: bold; color: #800000">09</span><span style="color: #808080">-</span><span style="font-weight: bold; color: #800000">30</span></div>
    Next_day与last_day
    <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">SQL</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;sysdate&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;dual;<br />
    <br />
    SYSDATE<br />
    </span><span style="color: #008080">--</span><span style="color: #008080">---------</span><span style="color: #008080"><br />
    </span><span style="font-weight: bold; color: #800000">2007</span><span style="color: #808080">-</span><span style="font-weight: bold; color: #800000">10</span><span style="color: #808080">-</span><span style="font-weight: bold; color: #800000">01</span><span style="color: #000000"><br />
    <br />
    SQL</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;next_day(sysdate,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">星期一</span><span style="color: #ff0000">'</span><span style="color: #000000">)&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;dual;<br />
    <br />
    NEXT_DAY(SYSDATE,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">星期一</span><span style="color: #ff0000">'</span><span style="color: #000000">)<br />
    </span><span style="color: #008080">--</span><span style="color: #008080">------------------------</span><span style="color: #008080"><br />
    </span><span style="font-weight: bold; color: #800000">2007</span><span style="color: #808080">-</span><span style="font-weight: bold; color: #800000">10</span><span style="color: #808080">-</span><span style="font-weight: bold; color: #800000">08</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #800000">11</span><span style="color: #000000">:</span><span style="font-weight: bold; color: #800000">57</span><span style="color: #000000">:</span><span style="font-weight: bold; color: #800000">29</span><span style="color: #000000"><br />
    <br />
    SQL</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;next_day(sysdate,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">)&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;dual;<br />
    <br />
    NEXT_DAY(SYSDATE,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">)<br />
    </span><span style="color: #008080">--</span><span style="color: #008080">-----------------</span><span style="color: #008080"><br />
    </span><span style="font-weight: bold; color: #800000">2007</span><span style="color: #808080">-</span><span style="font-weight: bold; color: #800000">10</span><span style="color: #808080">-</span><span style="font-weight: bold; color: #800000">07</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #800000">11</span><span style="color: #000000">:</span><span style="font-weight: bold; color: #800000">57</span><span style="color: #000000">:</span><span style="font-weight: bold; color: #800000">42</span><span style="color: #000000"><br />
    <br />
    SQL</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;next_day(sysdate,</span><span style="font-weight: bold; color: #800000">2</span><span style="color: #000000">)&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;dual;<br />
    <br />
    NEXT_DAY(SYSDATE,</span><span style="font-weight: bold; color: #800000">2</span><span style="color: #000000">)<br />
    </span><span style="color: #008080">--</span><span style="color: #008080">-----------------</span><span style="color: #008080"><br />
    </span><span style="font-weight: bold; color: #800000">2007</span><span style="color: #808080">-</span><span style="font-weight: bold; color: #800000">10</span><span style="color: #808080">-</span><span style="font-weight: bold; color: #800000">08</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #800000">11</span><span style="color: #000000">:</span><span style="font-weight: bold; color: #800000">57</span><span style="color: #000000">:</span><span style="font-weight: bold; color: #800000">56</span><span style="color: #000000"><br />
    </span></div>
    <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">SQL</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;last_day(sysdate)&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;dual;<br />
    <br />
    LAST_DAY(SYSDATE)<br />
    </span><span style="color: #008080">--</span><span style="color: #008080">---------------</span><span style="color: #008080"><br />
    </span><span style="font-weight: bold; color: #800000">2007</span><span style="color: #808080">-</span><span style="font-weight: bold; color: #800000">10</span><span style="color: #808080">-</span><span style="font-weight: bold; color: #800000">31</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #800000">12</span><span style="color: #000000">:</span><span style="font-weight: bold; color: #800000">00</span><span style="color: #000000">:</span></div>
    Round 四舍五入函数
    <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">SQL</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">round</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">123.456</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">2</span><span style="color: #000000">)&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;dual;<br />
    <br />
    </span><span style="color: #ff00ff">ROUND</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">123.456</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">2</span><span style="color: #000000">)<br />
    </span><span style="color: #008080">--</span><span style="color: #008080">--------------</span><span style="color: #008080"><br />
    </span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-weight: bold; color: #800000">123.46</span><span style="color: #000000"><br />
    <br />
    SQL</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">round</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">123.456</span><span style="color: #000000">,</span><span style="color: #808080">-</span><span style="font-weight: bold; color: #800000">2</span><span style="color: #000000">)&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;dual;<br />
    <br />
    </span><span style="color: #ff00ff">ROUND</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">123.456</span><span style="color: #000000">,</span><span style="color: #808080">-</span><span style="font-weight: bold; color: #800000">2</span><span style="color: #000000">)<br />
    </span><span style="color: #008080">--</span><span style="color: #008080">---------------</span><span style="color: #008080"><br />
    </span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-weight: bold; color: #800000">100</span><span style="color: #000000"><br />
    <br />
    SQL</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">round</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">123.456</span><span style="color: #000000">,</span><span style="color: #808080">-</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">)&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;dual;<br />
    <br />
    </span><span style="color: #ff00ff">ROUND</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">123.456</span><span style="color: #000000">,</span><span style="color: #808080">-</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">)<br />
    </span><span style="color: #008080">--</span><span style="color: #008080">---------------</span><span style="color: #008080"><br />
    </span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-weight: bold; color: #800000">120</span></div>
    <br />
    Ceil与floor 取整函数
    <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">SQL</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;ceil(</span><span style="font-weight: bold; color: #800000">1.1</span><span style="color: #000000">)&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;dual;<br />
    <br />
    &nbsp;CEIL(</span><span style="font-weight: bold; color: #800000">1.1</span><span style="color: #000000">)<br />
    </span><span style="color: #008080">--</span><span style="color: #008080">--------</span><span style="color: #008080"><br />
    </span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-weight: bold; color: #800000">2</span><span style="color: #000000"><br />
    <br />
    SQL</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">floor</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">9.9</span><span style="color: #000000">)&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;dual;<br />
    <br />
    </span><span style="color: #ff00ff">FLOOR</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">9.9</span><span style="color: #000000">)<br />
    </span><span style="color: #008080">--</span><span style="color: #008080">--------</span><span style="color: #008080"><br />
    </span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-weight: bold; color: #800000">9</span></div>
    Decode与nvl Decode相当于一个三元运算函数 nvl 如果值为空时默认值.<br />
    </li>
</ol>
 <img src ="http://www.blogjava.net/windonly/aggbug/150029.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/windonly/" target="_blank">Anemone</a> 2007-10-01 12:09 <a href="http://www.blogjava.net/windonly/archive/2007/10/01/150029.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java LazyLoad的Singleton写法</title><link>http://www.blogjava.net/windonly/archive/2007/09/28/149117.html</link><dc:creator>Anemone</dc:creator><author>Anemone</author><pubDate>Fri, 28 Sep 2007 07:12:00 GMT</pubDate><guid>http://www.blogjava.net/windonly/archive/2007/09/28/149117.html</guid><wfw:comment>http://www.blogjava.net/windonly/comments/149117.html</wfw:comment><comments>http://www.blogjava.net/windonly/archive/2007/09/28/149117.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/windonly/comments/commentRss/149117.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/windonly/services/trackbacks/149117.html</trackback:ping><description><![CDATA[<p>这是一个单例的延时加载实现:</p>
<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">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;Singleton&nbsp;{&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;<br />
&nbsp;&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;SingletonHolder&nbsp;{&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;Singleton&nbsp;instance&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Singleton();&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;<br />
&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;Singleton&nbsp;getInstance()&nbsp;{&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;SingletonHolder.instance;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;<br />
}&nbsp;&nbsp;</span></div>
<img src ="http://www.blogjava.net/windonly/aggbug/149117.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/windonly/" target="_blank">Anemone</a> 2007-09-28 15:12 <a href="http://www.blogjava.net/windonly/archive/2007/09/28/149117.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在SQL语句中使用CASE语句(OR9I中通过) </title><link>http://www.blogjava.net/windonly/archive/2007/09/22/147457.html</link><dc:creator>Anemone</dc:creator><author>Anemone</author><pubDate>Sat, 22 Sep 2007 12:41:00 GMT</pubDate><guid>http://www.blogjava.net/windonly/archive/2007/09/22/147457.html</guid><wfw:comment>http://www.blogjava.net/windonly/comments/147457.html</wfw:comment><comments>http://www.blogjava.net/windonly/archive/2007/09/22/147457.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/windonly/comments/commentRss/147457.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/windonly/services/trackbacks/147457.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"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #ff0000">'</span><span style="color: #ff0000">private&nbsp;String</span><span style="color: #ff0000">'</span><span style="color: #808080">||</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />(</span><span style="color: #ff00ff">case</span><span style="color: #000000">&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">when</span><span style="color: #000000">&nbsp;t.type</span><span style="color: #808080">=</span><span style="color: #ff0000">'</span><span style="color: #ff0000">3</span><span style="color: #ff0000">'</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">then</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: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">when</span><span style="color: #000000">&nbsp;t.type</span><span style="color: #808080">=</span><span style="color: #ff0000">'</span><span style="color: #ff0000">4</span><span style="color: #ff0000">'</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">then</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: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">else</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #ff0000">''</span><span style="color: #000000">&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">end</span><span style="color: #000000">)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #808080">||</span><span style="color: #ff0000">'</span><span style="color: #ff0000">&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #808080">||</span><span style="color: #000000">t.name,t.wtd_name_id&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;jc_wtd_fields&nbsp;t&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;t.wtd_name_id,t.name&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span></div>
<img src ="http://www.blogjava.net/windonly/aggbug/147457.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/windonly/" target="_blank">Anemone</a> 2007-09-22 20:41 <a href="http://www.blogjava.net/windonly/archive/2007/09/22/147457.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>密码MD5信息摘要的一点建议</title><link>http://www.blogjava.net/windonly/archive/2007/09/22/147314.html</link><dc:creator>Anemone</dc:creator><author>Anemone</author><pubDate>Sat, 22 Sep 2007 01:59:00 GMT</pubDate><guid>http://www.blogjava.net/w