﻿<?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-tinguo002-随笔分类-sql</title><link>http://www.blogjava.net/tinguo002/category/52374.html</link><description /><language>zh-cn</language><lastBuildDate>Fri, 27 Sep 2013 07:45:18 GMT</lastBuildDate><pubDate>Fri, 27 Sep 2013 07:45:18 GMT</pubDate><ttl>60</ttl><item><title>left join加上where条件的困惑</title><link>http://www.blogjava.net/tinguo002/archive/2013/09/23/404331.html</link><dc:creator>一堣而安</dc:creator><author>一堣而安</author><pubDate>Mon, 23 Sep 2013 08:09:00 GMT</pubDate><guid>http://www.blogjava.net/tinguo002/archive/2013/09/23/404331.html</guid><wfw:comment>http://www.blogjava.net/tinguo002/comments/404331.html</wfw:comment><comments>http://www.blogjava.net/tinguo002/archive/2013/09/23/404331.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/tinguo002/comments/commentRss/404331.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/tinguo002/services/trackbacks/404331.html</trackback:ping><description><![CDATA[<div class="content-head clearfix">原文：<a href="http://hi.baidu.com/dianai2001/item/6c2ddd844a80ced45e0ec136">http://hi.baidu.com/dianai2001/item/6c2ddd844a80ced45e0ec136</a><br /><div class="content-other-info"><span>2009-12-31 10:26</span> </div><br /><h2 class="title content-title">left join加上where条件的困惑</h2></div><br /><div id="content" class="content mod-cs-content text-content clearfix"><br /><p>left join的困惑：一旦加上where条件，则显示的结果等于inner join</p><br /><p>将where 换成 and&nbsp; </p><br /><p>用where 是先连接然后再筛选&nbsp;&nbsp; <br />用and 是先筛选再连接</p><br /><p>数据库在通过连接两张或多张表来返回记录时，都会生成一张中间的临时表，然后再将这张临时表返回给用户。</p><br /><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在使用left jion时，on和where条件的区别如下：</p><br /><p>1、 on条件是在生成临时表时使用的条件，它不管on中的条件是否为真，都会返回左边表中的记录。</p><br /><p>2、where条件是在临时表生成好后，再对临时表进行过滤的条件。这时已经没有left <br />join的含义（必须返回左边表的记录）了，条件不为真的就全部过滤掉。</p><br /><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 假设有两张表：</p><br /><p>表1 tab1：</p><br /><p>id size</p><br /><p>1 10</p><br /><p>2 20</p><br /><p>3 30</p><br /><p>表2 tab2：</p><br /><p>size name</p><br /><p>10 AAA</p><br /><p>20 BBB</p><br /><p>20 CCC</p><br /><p><br />两条SQL:<br />1、select * form tab1 left join tab2 on (tab1.size = tab2.size) <br />where tab2.name=&#8217;AAA&#8217;<br />2、select * form tab1 left join tab2 on (tab1.size = <br />tab2.size and tab2.name=&#8217;AAA&#8217;)</p><br /><p>第一条SQL的过程：</p><br /><p>1、中间表<br />on条件: <br />tab1.size = tab2.size</p><br /><p>tab1.id&nbsp;&nbsp;&nbsp; tab1.size&nbsp;&nbsp;&nbsp; tab2.size&nbsp;&nbsp;&nbsp;&nbsp; tab2.name</p><br /><p>1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AAA</p><br /><p>2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 20&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 20&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BBB</p><br /><p>2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 20&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 20&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CCC</p><br /><p>3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 30&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (null)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (null)</p><br /><p>2、再对中间表过滤<br />where 条件：<br />tab2.name=&#8217;AAA&#8217;</p><br /><p>tab1.id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tab1.size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tab2.size&nbsp;&nbsp;&nbsp;&nbsp; tab2.name</p><br /><p>1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AAA</p><br /><p><br />第二条SQL的过程：</p><br /><p>1、中间表<br />on条件: <br />tab1.size = tab2.size and <br />tab2.name=&#8217;AAA&#8217;<br />(条件不为真也会返回左表中的记录)</p><br /><p>tab1.id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tab1.size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tab2.size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tab2.name</p><br /><p>1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AAA</p><br /><p>2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 20&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (null)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (null)</p><br /><p>3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 30&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (null)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (null)</p><br /><p>&nbsp;&nbsp;&nbsp;&nbsp; 其实以上结果的关键原因就是left join,right join,full <br />join的特殊性，不管on上的条件是否为真都会返回left或right表中的记录，full则具有left和right的特性的并集。 而inner <br />jion没这个特殊性，则条件放在on中和where中，返回的结果集是相同的。</p></div><img src ="http://www.blogjava.net/tinguo002/aggbug/404331.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/tinguo002/" target="_blank">一堣而安</a> 2013-09-23 16:09 <a href="http://www.blogjava.net/tinguo002/archive/2013/09/23/404331.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Access 日期函数</title><link>http://www.blogjava.net/tinguo002/archive/2012/12/12/392883.html</link><dc:creator>一堣而安</dc:creator><author>一堣而安</author><pubDate>Wed, 12 Dec 2012 08:58:00 GMT</pubDate><guid>http://www.blogjava.net/tinguo002/archive/2012/12/12/392883.html</guid><wfw:comment>http://www.blogjava.net/tinguo002/comments/392883.html</wfw:comment><comments>http://www.blogjava.net/tinguo002/archive/2012/12/12/392883.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/tinguo002/comments/commentRss/392883.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/tinguo002/services/trackbacks/392883.html</trackback:ping><description><![CDATA[<div class="user-face" sizset="20" sizcache="268"><a href="http://www.douban.com/people/Pazzilivo/"><img class="pil" alt="Ash &#9819;" src="http://img3.douban.com/icon/u4399196-20.jpg" /></a> </div>
<div class="topic-doc" sizset="21" sizcache="268">
<h3 sizset="21" sizcache="268"><span class="from" sizset="21" sizcache="268">来自: <a href="http://www.douban.com/people/Pazzilivo/">Ash &#9819;</a>(http://winterfell.tk)</span> <span class="color-green">2010-06-20 16:24:14</span> </h3>
<div id="link-report">
<div class="topic-content">
<p>1、在查询中格式化输出日期 <br />Format(date(), "yyyy-mm-dd") <br /><br />2、计算两个日期的差值 <br />DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]]) <br /><br />3、日期加上一段时间 <br />DateAdd(interval, number, date) <br /><br />4、取得日期的一部分 <br />DatePart(interval, date[,firstdayofweek[, firstweekofyear]]) <br /><br />interval 参数具有以下设定值: <br />yyyy 年 <br />q 季 <br />m 月 <br />y 一年的日数 <br />d 日 <br />w 一周的日数 <br />ww 周 <br />h 时 <br />n 分钟 <br />s 秒 <br /><br />firstdayofweek 参数的设定值如下: <br />常数 值 描述 <br />vbUseSystem 0 使用 NLS API 设置。 <br />vbSunday 1 星期日(缺省值) <br />vbMonday 2 星期一 <br />vbTuesday 3 星期二 <br />vbWednesday 4 星期三 <br />vbThursday 5 星期四 <br />vbFriday 6 星期五 <br />vbSaturday 7 星期六 <br /><br />firstweekofyear 参数的设定值如下: <br />常数 值 描述 <br />vbUseSystem 0 使用 NLS API 设置。 <br />vbFirstJan1 1 从包含 1 月 1 日的星期开始(缺省值)。 <br />vbFirstFourDays 2 从第一个其大半个星期在新的一年的一周开始。 <br />vbFirstFullWeek 3 从第一个无跨年度的星期开始。<br /><br /><a href="http://blog.csdn.net/robertbaker/article/details/7966307">http://blog.csdn.net/robertbaker/article/details/7966307</a>&nbsp; 另一文章</p></div></div></div><img src ="http://www.blogjava.net/tinguo002/aggbug/392883.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/tinguo002/" target="_blank">一堣而安</a> 2012-12-12 16:58 <a href="http://www.blogjava.net/tinguo002/archive/2012/12/12/392883.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SQLServer和Oracle的常用函数对比</title><link>http://www.blogjava.net/tinguo002/archive/2012/11/29/392229.html</link><dc:creator>一堣而安</dc:creator><author>一堣而安</author><pubDate>Thu, 29 Nov 2012 13:35:00 GMT</pubDate><guid>http://www.blogjava.net/tinguo002/archive/2012/11/29/392229.html</guid><wfw:comment>http://www.blogjava.net/tinguo002/comments/392229.html</wfw:comment><comments>http://www.blogjava.net/tinguo002/archive/2012/11/29/392229.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/tinguo002/comments/commentRss/392229.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/tinguo002/services/trackbacks/392229.html</trackback:ping><description><![CDATA[<div><div class="content-head clearfix"><br /><div class="content-other-info"><span>2008-05-27 10:32</span> </div>转载自：<a href="http://hi.baidu.com/zhoudz_jxdy/item/5e6dd8d0700ac5be33db901e">http://hi.baidu.com/zhoudz_jxdy/item/5e6dd8d0700ac5be33db901e</a><br /><h2 class="title content-title">SQLServer和Oracle的常用函数对比</h2></div><br /><div id="content" class="content mod-cs-content text-content clearfix">SQLServer和Oracle的常用函数对比
<p>帮别人写SQL Server的程序很多函数我不知道Oracle对应的怎么转换到SQL Server上，网上查到一下资料堪称雪中送炭。管用SQL <br />Server 我能作的实在太少。唉，真不知道为什么这么不开眼让我写SQL Server的存储过程。</p><br /><p>---------数学函数</p><br /><p>　　1.绝对值 <br />　　S:select abs(-1) value<br />　　O:select abs(-1) value from <br />dual</p><br /><p>　　2.取整(大) <br />　　S:select ceiling(-1.001) value <br />　　O:select ceil(-1.001) <br />value from dual</p><br /><p>　　3.取整（小） <br />　　S:select floor(-1.001) value <br />　　O:select floor(-1.001) <br />value from dual</p><br /><p>　　4.取整（截取）<br />　　S:select cast(-1.002 as int) value <br />　　O:select <br />trunc(-1.002) value from dual </p><br /><p>　　5.四舍五入<br />　　S:select round(1.23456,4) value 1.23460<br />　　O:select <br />round(1.23456,4) value from dual 1.2346</p><br /><p>　　6.e为底的幂 <br />　　S:select Exp(1) value 2.7182818284590451 <br />　　O:select <br />Exp(1) value from dual 2.71828182</p><br /><p>　　7.取e为底的对数<br />　　S:select log(2.7182818284590451) value 1<br />　　O:select <br />ln(2.7182818284590451) value from dual; 1</p><br /><p>　　8.取10为底对数<br />　　S:select log10(10) value 1<br />　　O:select log(10,10) value <br />from dual; 1</p><br /><p>　　9.取平方<br />　　S:select SQUARE(4) value 16<br />　　O:select power(4,2) value from <br />dual 16</p><br /><p>　　10.取平方根<br />　　S:select SQRT(4) value 2<br />　　O:select SQRT(4) value from dual <br />2</p><br /><p>　　11.求任意数为底的幂<br />　　S:select power(3,4) value 81<br />　　O:select power(3,4) <br />value from dual 81</p><br /><p>　　12.取随机数<br />　　S:select rand() value <br />　　O:select <br />sys.dbms_random.value(0,1) value from dual;</p><br /><p>　　13.取符号<br />　　S:select sign(-8) value -1<br />　　O:select sign(-8) value from <br />dual -1<br />　　----------数学函数</p><br /><p>　　14.圆周率<br />　　S:SELECT PI() value 3.1415926535897931<br />　　O:不知道</p><br /><p>　　15.sin,cos,tan 参数都以弧度为单位<br />　　例如：select sin(PI()/2) value <br />得到1（SQLServer）</p><br /><p>　　16.Asin,Acos,Atan,Atan2 返回弧度</p><br /><p>　　17.弧度角度互换(SQLServer，Oracle不知道)<br />　　DEGREES：弧度-〉角度<br />　　RADIANS：角度-〉弧度</p><br /><p>　　---------数值间比较</p><br /><p>　　18. 求集合最大值<br />　　S:select max(value) value from <br />　　(select 1 <br />value<br />　　union<br />　　select -2 value<br />　　union<br />　　select 4 <br />value<br />　　union<br />　　select 3 value)a</p><br /><p>　　O:select greatest(1,-2,4,3) value from dual</p><br /><p>　　19. 求集合最小值<br />　　S:select min(value) value from <br />　　(select 1 <br />value<br />　　union<br />　　select -2 value<br />　　union<br />　　select 4 <br />value<br />　　union<br />　　select 3 value)a</p><br /><p>　　O:select least(1,-2,4,3) value from dual</p><br /><p>　　20.如何处理null值(F2中的null以10代替)<br />　　S:select F1,IsNull(F2,10) value from <br />Tbl<br />　　O:select F1,nvl(F2,10) value from Tbl</p><br /><p>　　--------数值间比较</p><br /><p>　　21.求字符序号<br />　　S:select ascii('a') value<br />　　O:select ascii('a') value from <br />dual</p><br /><p>　　22.从序号求字符<br />　　S:select char(97) value<br />　　O:select chr(97) value from <br />dual</p><br /><p>　　23.连接<br />　　S:select '11'+'22'+'33' value<br />　　O:select <br />CONCAT('11','22')||33 value from dual</p><br /><p>　　23.子串位置 --返回3<br />　　S:select CHARINDEX('s','sdsq',2) value <br />　　O:select <br />INSTR('sdsq','s',2) value from dual</p><br /><p>　　23.模糊子串的位置 --返回2,参数去掉中间%则返回7<br />　　S:select patindex('%d%q%','sdsfasdqe') <br />value <br />　　O:oracle没发现，但是instr可以通过第四霾问 刂瞥鱿执问?BR&gt;　　select <br />INSTR('sdsfasdqe','sd',1,2) value from dual 返回6</p><br /><p>　　24.求子串<br />　　S:select substring('abcd',2,2) value <br />　　O:select <br />substr('abcd',2,2) value from dual</p><br /><p>　　25.子串代替 返回aijklmnef<br />　　S:SELECT STUFF('abcdef', 2, 3, 'ijklmn') <br />value<br />　　O:SELECT Replace('abcdef', 'bcd', 'ijklmn') value from dual</p><br /><p>　　26.子串全部替换<br />　　S:没发现<br />　　O:select Translate('fasdbfasegas','fa','我' ) <br />value from dual</p><br /><p>　　27.长度<br />　　S:len,datalength<br />　　O:length</p><br /><p>　　28.大小写转换 lower,upper</p><br /><p>　　29.单词首字母大写<br />　　S:没发现<br />　　O:select INITCAP('abcd dsaf df') value from <br />dual</p><br /><p>　　30.左补空格（LPAD的第一个参数为空格则同space函数）<br />　　S:select space(10)+'abcd' <br />value<br />　　O:select LPAD('abcd',14) value from dual</p><br /><p>　　31.右补空格（RPAD的第一个参数为空格则同space函数）<br />　　S:select 'abcd'+space(10) <br />value<br />　　O:select RPAD('abcd',14) value from dual</p><br /><p>　　32.删除空格<br />　　S:ltrim,rtrim<br />　　O:ltrim,rtrim,trim</p><br /><p>　　33. 重复字符串<br />　　S:select REPLICATE('abcd',2) value <br />　　O:没发现</p><br /><p>　　34.发音相似性比较(这两个单词返回值一样，发音相同)<br />　　S:SELECT SOUNDEX ('Smith'), SOUNDEX <br />('Smythe')<br />　　O:SELECT SOUNDEX ('Smith'), SOUNDEX ('Smythe') from <br />dual<br />　　SQLServer中用SELECT DIFFERENCE('Smithers', 'Smythers') <br />比较soundex的差<br />　　返回0-4，4为同音，1最高</p><br /><p>　　--------------日期函数</p><br /><p>　　35.系统时间<br />　　S:select getdate() value<br />　　O:select sysdate value from <br />dual</p><br /><p>　　36.前后几日<br />　　直接与整数相加减</p><br /><p>　　37.求日期<br />　　S:select convert(char(10),getdate(),20) value<br />　　O:select <br />trunc(sysdate) value from dual<br />　　select to_char(sysdate,'yyyy-mm-dd') value <br />from dual</p><br /><p>　　38.求时间<br />　　S:select convert(char(8),getdate(),108) value<br />　　O:select <br />to_char(sysdate,'hh24:mm:ss') value from dual</p><br /><p>　　39.取日期时间的其他部分<br />　　S:DATEPART 和 DATENAME 函数 （第一个参数决定） <br />　　O:to_char函数 <br />第二个参数决定</p><br /><p>　　参数---------------------------------下表需要补充<br />　　year yy, yyyy <br />　　quarter <br />qq, q (季度)<br />　　month mm, m (m O无效)<br />　　dayofyear dy, y (O表星期)<br />　　day dd, d <br />(d O无效)<br />　　week wk, ww (wk O无效)<br />　　weekday dw (O不清楚)<br />　　Hour hh,hh12,hh24 <br />(hh12,hh24 S无效)<br />　　minute mi, n (n O无效)<br />　　second ss, s (s <br />O无效)<br />　　millisecond ms <br />(O无效)<br />　　----------------------------------------------</p><br /><p>　　40.当月最后一天<br />　　S:day(convert(datetime,'20080501')-1)</p><br /><p>　　O:select LAST_DAY(sysdate) value from dual</p><br /><p>　　41.本星期的某一天（比如星期日）<br />　　S:不知道<br />　　O:SELECT Next_day(sysdate,7) vaule FROM <br />DUAL;</p><br /><p>　　42.字符串转时间<br />　　S:可以直接转或者select cast('2004-09-08'as datetime) <br />value<br />　　O:SELECT To_date('2004-01-05 22:09:38','yyyy-mm-dd hh24-mi-ss') vaule <br />FROM DUAL;</p><br /><p>　　43.求两日期某一部分的差（比如秒）<br />　　S:select datediff(ss,getdate(),getdate()+12.3) <br />value<br />　　O:直接用两个日期相减（比如d1-d2=12.3）<br />　　SELECT (d1-d2)*24*60*60 vaule FROM <br />DUAL;</p><br /><p>　　44.根据差值求新的日期（比如分钟）<br />　　S:select dateadd(mi,8,getdate()) <br />value<br />　　O:SELECT sysdate+8/60/24 vaule FROM DUAL;</p><br /><p>　　45.求不同时区时间<br />　　S:不知道<br />　　O:SELECT New_time(sysdate,'ydt','gmt' ) vaule <br />FROM DUAL;</p><br /><p>　　-----时区参数,北京在东8区应该是Ydt-------<br />　　AST ADT 大西洋标准时间<br />　　BST BDT <br />白令海标准时间<br />　　CST CDT 中部标准时间<br />　　EST EDT 东部标准时间<br />　　GMT 格林尼治标准时间<br />　　HST HDT <br />阿拉斯加&#8212;夏威夷标准时间<br />　　MST MDT 山区标准时间<br />　　NST 纽芬兰标准时间<br />　　PST PDT 太平洋标准时间<br />　　YST <br />YDT YUKON标准时间</p><br /><p>&nbsp;</p><br /><p><strong>oracle对日期时间进行加减</strong></p><br /><p>加法 <br />select sysdate,add_months(sysdate,12) from dual;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />--加1年<br />select sysdate,add_months(sysdate,1) from dual;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --加1月<br />select <br />sysdate,to_char(sysdate+7,'yyyy-mm-dd HH24:MI:SS') from dual;&nbsp;&nbsp;&nbsp; <br />--加1星期<br />select sysdate,to_char(sysdate+1,'yyyy-mm-dd HH24:MI:SS') from <br />dual;&nbsp;&nbsp;&nbsp; --加1天<br />select sysdate,to_char(sysdate+1/24,'yyyy-mm-dd HH24:MI:SS') <br />from dual;&nbsp;&nbsp; --加1小时<br />select sysdate,to_char(sysdate+1/24/60,'yyyy-mm-dd <br />HH24:MI:SS') from dual;&nbsp;&nbsp; --加1分钟<br />select <br />sysdate,to_char(sysdate+1/24/60/60,'yyyy-mm-dd HH24:MI:SS') from dual; <br />--加1秒<br /><br />减法<br />select sysdate,add_months(sysdate,-12) from dual;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />--减1年<br />select sysdate,add_months(sysdate,-1) from dual;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />--减1月<br />select sysdate,to_char(sysdate-7,'yyyy-mm-dd HH24:MI:SS') from dual;&nbsp;&nbsp;&nbsp; <br />--减1星期<br />select sysdate,to_char(sysdate-1,'yyyy-mm-dd HH24:MI:SS') from <br />dual;&nbsp;&nbsp;&nbsp; --减1天<br />select sysdate,to_char(sysdate-1/24,'yyyy-mm-dd HH24:MI:SS') <br />from dual;&nbsp;&nbsp; --减1小时<br />select sysdate,to_char(sysdate-1/24/60,'yyyy-mm-dd <br />HH24:MI:SS') from dual;&nbsp;&nbsp; --减1分钟<br />select <br />sysdate,to_char(sysdate-1/24/60/60,'yyyy-mm-dd HH24:MI:SS') from dual; --减1秒</p></div></div><img src ="http://www.blogjava.net/tinguo002/aggbug/392229.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/tinguo002/" target="_blank">一堣而安</a> 2012-11-29 21:35 <a href="http://www.blogjava.net/tinguo002/archive/2012/11/29/392229.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Sql Server 中一个非常强大的日期格式化函数</title><link>http://www.blogjava.net/tinguo002/archive/2012/11/29/392228.html</link><dc:creator>一堣而安</dc:creator><author>一堣而安</author><pubDate>Thu, 29 Nov 2012 13:32:00 GMT</pubDate><guid>http://www.blogjava.net/tinguo002/archive/2012/11/29/392228.html</guid><wfw:comment>http://www.blogjava.net/tinguo002/comments/392228.html</wfw:comment><comments>http://www.blogjava.net/tinguo002/archive/2012/11/29/392228.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/tinguo002/comments/commentRss/392228.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/tinguo002/services/trackbacks/392228.html</trackback:ping><description><![CDATA[
 
<div id="sina_keyword_ad_area2" class="articalContent  "><span style="font-size: 12px;"><font face="Verdana">转载自：<a href="http://blog.sina.com.cn/s/blog_681932830100vxtq.html">http://blog.sina.com.cn/s/blog_681932830100vxtq.html</a><br />Sql Server 中一个非常强大的日期格式化函数<br />Select <br />CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM<br />Select <br />CONVERT(varchar(100), GETDATE(), 1): 05/16/06<br />Select CONVERT(varchar(100), <br />GETDATE(), 2): 06.05.16<br />Select CONVERT(varchar(100), GETDATE(), 3): <br />16/05/06<br />Select CONVERT(varchar(100), GETDATE(), 4): 16.05.06<br />Select <br />CONVERT(varchar(100), GETDATE(), 5): 16-05-06<br />Select CONVERT(varchar(100), <br />GETDATE(), 6): 16 05 06<br />Select CONVERT(varchar(100), GETDATE(), 7): 05 16, <br />06<br />Select CONVERT(varchar(100), GETDATE(), 8): 10:57:46<br />Select <br />CONVERT(varchar(100), GETDATE(), 9): 05 16 2006 10:57:46:827AM<br />Select <br />CONVERT(varchar(100), GETDATE(), 10): 05-16-06<br />Select CONVERT(varchar(100), <br />GETDATE(), 11): 06/05/16<br />Select CONVERT(varchar(100), GETDATE(), 12): <br />060516<br />Select CONVERT(varchar(100), GETDATE(), 13): 16 05 2006 <br />10:57:46:937<br />Select CONVERT(varchar(100), GETDATE(), 14): <br />10:57:46:967<br />Select CONVERT(varchar(100), GETDATE(), 20): 2006-05-16 <br />10:57:47<br />Select CONVERT(varchar(100), GETDATE(), 21): 2006-05-16 <br />10:57:47.157<br />Select CONVERT(varchar(100), GETDATE(), 22): 05/16/06 10:57:47 <br />AM<br />Select CONVERT(varchar(100), GETDATE(), 23): 2006-05-16<br />Select <br />CONVERT(varchar(100), GETDATE(), 24): 10:57:47<br />Select CONVERT(varchar(100), <br />GETDATE(), 25): 2006-05-16 10:57:47.250<br />Select CONVERT(varchar(100), <br />GETDATE(), 100): 05 16 2006 10:57AM<br />Select CONVERT(varchar(100), GETDATE(), <br />101): 05/16/2006<br />Select CONVERT(varchar(100), GETDATE(), 102): <br />2006.05.16<br />Select CONVERT(varchar(100), GETDATE(), 103): 16/05/2006<br />Select <br />CONVERT(varchar(100), GETDATE(), 104): 16.05.2006<br />Select <br />CONVERT(varchar(100), GETDATE(), 105): 16-05-2006<br />Select <br />CONVERT(varchar(100), GETDATE(), 106): 16 05 2006<br />Select <br />CONVERT(varchar(100), GETDATE(), 107): 05 16, 2006<br />Select <br />CONVERT(varchar(100), GETDATE(), 108): 10:57:49<br />Select CONVERT(varchar(100), <br />GETDATE(), 109): 05 16 2006 10:57:49:437AM<br />Select CONVERT(varchar(100), <br />GETDATE(), 110): 05-16-2006<br />Select CONVERT(varchar(100), GETDATE(), 111): <br />2006/05/16<br />Select CONVERT(varchar(100), GETDATE(), 112): 20060516<br />Select <br />CONVERT(varchar(100), GETDATE(), 113): 16 05 2006 10:57:49:513<br />Select <br />CONVERT(varchar(100), GETDATE(), 114): 10:57:49:547<br />Select <br />CONVERT(varchar(100), GETDATE(), 120): 2006-05-16 10:57:49<br />Select <br />CONVERT(varchar(100), GETDATE(), 121): 2006-05-16 10:57:49.700<br />Select <br />CONVERT(varchar(100), GETDATE(), 126): 2006-05-16T10:57:49.827<br />Select <br />CONVERT(varchar(100), GETDATE(), 130): 18 ???? ?????? 1427 <br />10:57:49:907AM<br />Select CONVERT(varchar(100), GETDATE(), 131): 18/04/1427 <br />10:57:49:920AM</font></span></div><img src ="http://www.blogjava.net/tinguo002/aggbug/392228.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/tinguo002/" target="_blank">一堣而安</a> 2012-11-29 21:32 <a href="http://www.blogjava.net/tinguo002/archive/2012/11/29/392228.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SQL:select case when(转)</title><link>http://www.blogjava.net/tinguo002/archive/2012/08/10/385247.html</link><dc:creator>一堣而安</dc:creator><author>一堣而安</author><pubDate>Fri, 10 Aug 2012 09:21:00 GMT</pubDate><guid>http://www.blogjava.net/tinguo002/archive/2012/08/10/385247.html</guid><wfw:comment>http://www.blogjava.net/tinguo002/comments/385247.html</wfw:comment><comments>http://www.blogjava.net/tinguo002/archive/2012/08/10/385247.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/tinguo002/comments/commentRss/385247.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/tinguo002/services/trackbacks/385247.html</trackback:ping><description><![CDATA[<p><span style="color: #ff00ff">来自：<br /><a href="http://www.cnblogs.com/cyrix/articles/1750184.html">http://www.cnblogs.com/cyrix/articles/1750184.html</a><br /><br />CASE</span><span style="color: #000000"> 可能是 SQL 中被误用最多的关键字之一。虽然你可能以前用过这个关键字来创建字段，但是它还具有更多用法。例如，你可以在 </span><span style="color: #0000ff">WHERE</span><span style="color: #000000"> 子句中使用 </span><span style="color: #ff00ff">CASE</span><span style="color: #000000">。 <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /> <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" />首先让我们看一下 </span><span style="color: #ff00ff">CASE</span><span style="color: #000000"> 的语法。在一般的 </span><span style="color: #0000ff">SELECT</span><span style="color: #000000"> 中，其语法如下： <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /> <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /></span><span style="color: #0000ff">SELECT</span><span style="color: #000000"> </span><span style="color: #808080">&lt;</span><span style="color: #000000">myColumnSpec</span><span style="color: #808080">&gt;</span><span style="color: #000000"> </span><span style="color: #808080">=</span><span style="color: #000000"> <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /></span><span style="color: #ff00ff">CASE</span><span style="color: #000000"> <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /></span><span style="color: #0000ff">WHEN</span><span style="color: #000000"> </span><span style="color: #808080">&lt;</span><span style="color: #000000">A</span><span style="color: #808080">&gt;</span><span style="color: #000000"> </span><span style="color: #0000ff">THEN</span><span style="color: #000000"> </span><span style="color: #808080">&lt;</span><span style="color: #000000">somethingA</span><span style="color: #808080">&gt;</span><span style="color: #000000"> <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /></span><span style="color: #0000ff">WHEN</span><span style="color: #000000"> </span><span style="color: #808080">&lt;</span><span style="color: #000000">B</span><span style="color: #808080">&gt;</span><span style="color: #000000"> </span><span style="color: #0000ff">THEN</span><span style="color: #000000"> </span><span style="color: #808080">&lt;</span><span style="color: #000000">somethingB</span><span style="color: #808080">&gt;</span><span style="color: #000000"> <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /></span><span style="color: #0000ff">ELSE</span><span style="color: #000000"> </span><span style="color: #808080">&lt;</span><span style="color: #000000">somethingE</span><span style="color: #808080">&gt;</span><span style="color: #000000"> <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /></span><span style="color: #0000ff">END</span><span style="color: #000000"> <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /> <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" />在上面的代码中需要用具体的参数代替尖括号中的内容。下面是一个简单的例子： <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /> <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /></span><span style="color: #0000ff">USE</span><span style="color: #000000"> pubs <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /></span><span style="color: #0000ff">GO</span><span style="color: #000000"> <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /></span><span style="color: #0000ff">SELECT</span><span style="color: #000000"> <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /> Title, <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /> </span><span style="color: #ff0000">'</span><span style="color: #ff0000">Price Range</span><span style="color: #ff0000">'</span><span style="color: #000000"> </span><span style="color: #808080">=</span><span style="color: #000000"> <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /> </span><span style="color: #ff00ff">CASE</span><span style="color: #000000"> <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /> </span><span style="color: #0000ff">WHEN</span><span style="color: #000000"> price </span><span style="color: #0000ff">IS</span><span style="color: #000000"> </span><span style="color: #0000ff">NULL</span><span style="color: #000000"> </span><span style="color: #0000ff">THEN</span><span style="color: #000000"> </span><span style="color: #ff0000">'</span><span style="color: #ff0000">Unpriced</span><span style="color: #ff0000">'</span><span style="color: #000000"> <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /> </span><span style="color: #0000ff">WHEN</span><span style="color: #000000"> price </span><span style="color: #808080">&lt;</span><span style="color: #000000"> </span><span style="color: #800000; font-weight: bold">10</span><span style="color: #000000"> </span><span style="color: #0000ff">THEN</span><span style="color: #000000"> </span><span style="color: #ff0000">'</span><span style="color: #ff0000">Bargain</span><span style="color: #ff0000">'</span><span style="color: #000000"> <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /> </span><span style="color: #0000ff">WHEN</span><span style="color: #000000"> price </span><span style="color: #808080">BETWEEN</span><span style="color: #000000"> </span><span style="color: #800000; font-weight: bold">10</span><span style="color: #000000"> </span><span style="color: #808080">and</span><span style="color: #000000"> </span><span style="color: #800000; font-weight: bold">20</span><span style="color: #000000"> </span><span style="color: #0000ff">THEN</span><span style="color: #000000"> </span><span style="color: #ff0000">'</span><span style="color: #ff0000">Average</span><span style="color: #ff0000">'</span><span style="color: #000000"> <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /> </span><span style="color: #0000ff">ELSE</span><span style="color: #000000"> </span><span style="color: #ff0000">'</span><span style="color: #ff0000">Gift to impress relatives</span><span style="color: #ff0000">'</span><span style="color: #000000"> <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /> </span><span style="color: #0000ff">END</span><span style="color: #000000"> <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /></span><span style="color: #0000ff">FROM</span><span style="color: #000000"> titles <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /></span><span style="color: #0000ff">ORDER</span><span style="color: #000000"> </span><span style="color: #0000ff">BY</span><span style="color: #000000"> price <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /></span><span style="color: #0000ff">GO</span><span style="color: #000000"> <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /> <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" />这是 </span><span style="color: #ff00ff">CASE</span><span style="color: #000000"> 的典型用法，但是使用 </span><span style="color: #ff00ff">CASE</span><span style="color: #000000"> 其实可以做更多的事情。比方说下面的 </span><span style="color: #0000ff">GROUP</span><span style="color: #000000"> </span><span style="color: #0000ff">BY</span><span style="color: #000000"> 子句中的 </span><span style="color: #ff00ff">CASE</span><span style="color: #000000">： <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /> <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /></span><span style="color: #0000ff">SELECT</span><span style="color: #000000"> </span><span style="color: #ff0000">'</span><span style="color: #ff0000">Number of Titles</span><span style="color: #ff0000">'</span><span style="color: #000000">, </span><span style="color: #ff00ff">Count</span><span style="color: #000000">(</span><span style="color: #808080">*</span><span style="color: #000000">) <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /></span><span style="color: #0000ff">FROM</span><span style="color: #000000"> titles <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /></span><span style="color: #0000ff">GROUP</span><span style="color: #000000"> </span><span style="color: #0000ff">BY</span><span style="color: #000000"> <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /> </span><span style="color: #ff00ff">CASE</span><span style="color: #000000"> <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /> </span><span style="color: #0000ff">WHEN</span><span style="color: #000000"> price </span><span style="color: #0000ff">IS</span><span style="color: #000000"> </span><span style="color: #0000ff">NULL</span><span style="color: #000000"> </span><span style="color: #0000ff">THEN</span><span style="color: #000000"> </span><span style="color: #ff0000">'</span><span style="color: #ff0000">Unpriced</span><span style="color: #ff0000">'</span><span style="color: #000000"> <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /> </span><span style="color: #0000ff">WHEN</span><span style="color: #000000"> price </span><span style="color: #808080">&lt;</span><span style="color: #000000"> </span><span style="color: #800000; font-weight: bold">10</span><span style="color: #000000"> </span><span style="color: #0000ff">THEN</span><span style="color: #000000"> </span><span style="color: #ff0000">'</span><span style="color: #ff0000">Bargain</span><span style="color: #ff0000">'</span><span style="color: #000000"> <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /> </span><span style="color: #0000ff">WHEN</span><span style="color: #000000"> price </span><span style="color: #808080">BETWEEN</span><span style="color: #000000"> </span><span style="color: #800000; font-weight: bold">10</span><span style="color: #000000"> </span><span style="color: #808080">and</span><span style="color: #000000"> </span><span style="color: #800000; font-weight: bold">20</span><span style="color: #000000"> </span><span style="color: #0000ff">THEN</span><span style="color: #000000"> </span><span style="color: #ff0000">'</span><span style="color: #ff0000">Average</span><span style="color: #ff0000">'</span><span style="color: #000000"> <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /> </span><span style="color: #0000ff">ELSE</span><span style="color: #000000"> </span><span style="color: #ff0000">'</span><span style="color: #ff0000">Gift to impress relatives</span><span style="color: #ff0000">'</span><span style="color: #000000"> <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /> </span><span style="color: #0000ff">END</span><span style="color: #000000"> <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /></span><span style="color: #0000ff">GO</span><span style="color: #000000"> <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /> <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" />你甚至还可以组合这些选项，添加一个 </span><span style="color: #0000ff">ORDER</span><span style="color: #000000"> </span><span style="color: #0000ff">BY</span><span style="color: #000000"> 子句，如下所示： <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /> <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /></span><span style="color: #0000ff">USE</span><span style="color: #000000"> pubs <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /></span><span style="color: #0000ff">GO</span><span style="color: #000000"> <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /></span><span style="color: #0000ff">SELECT</span><span style="color: #000000"> <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /> </span><span style="color: #ff00ff">CASE</span><span style="color: #000000"> <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /> </span><span style="color: #0000ff">WHEN</span><span style="color: #000000"> price </span><span style="color: #0000ff">IS</span><span style="color: #000000"> </span><span style="color: #0000ff">NULL</span><span style="color: #000000"> </span><span style="color: #0000ff">THEN</span><span style="color: #000000"> </span><span style="color: #ff0000">'</span><span style="color: #ff0000">Unpriced</span><span style="color: #ff0000">'</span><span style="color: #000000"> <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /> </span><span style="color: #0000ff">WHEN</span><span style="color: #000000"> price </span><span style="color: #808080">&lt;</span><span style="color: #000000"> </span><span style="color: #800000; font-weight: bold">10</span><span style="color: #000000"> </span><span style="color: #0000ff">THEN</span><span style="color: #000000"> </span><span style="color: #ff0000">'</span><span style="color: #ff0000">Bargain</span><span style="color: #ff0000">'</span><span style="color: #000000"> <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /> </span><span style="color: #0000ff">WHEN</span><span style="color: #000000"> price </span><span style="color: #808080">BETWEEN</span><span style="color: #000000"> </span><span style="color: #800000; font-weight: bold">10</span><span style="color: #000000"> </span><span style="color: #808080">and</span><span style="color: #000000"> </span><span style="color: #800000; font-weight: bold">20</span><span style="color: #000000"> </span><span style="color: #0000ff">THEN</span><span style="color: #000000"> </span><span style="color: #ff0000">'</span><span style="color: #ff0000">Average</span><span style="color: #ff0000">'</span><span style="color: #000000"> <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /> </span><span style="color: #0000ff">ELSE</span><span style="color: #000000"> </span><span style="color: #ff0000">'</span><span style="color: #ff0000">Gift to impress relatives</span><span style="color: #ff0000">'</span><span style="color: #000000"> <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /> </span><span style="color: #0000ff">END</span><span style="color: #000000"> </span><span style="color: #0000ff">AS</span><span style="color: #000000"> Range, <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /> Title <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /></span><span style="color: #0000ff">FROM</span><span style="color: #000000"> titles <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /></span><span style="color: #0000ff">GROUP</span><span style="color: #000000"> </span><span style="color: #0000ff">BY</span><span style="color: #000000"> <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /> </span><span style="color: #ff00ff">CASE</span><span style="color: #000000"> <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /> </span><span style="color: #0000ff">WHEN</span><span style="color: #000000"> price </span><span style="color: #0000ff">IS</span><span style="color: #000000"> </span><span style="color: #0000ff">NULL</span><span style="color: #000000"> </span><span style="color: #0000ff">THEN</span><span style="color: #000000"> </span><span style="color: #ff0000">'</span><span style="color: #ff0000">Unpriced</span><span style="color: #ff0000">'</span><span style="color: #000000"> <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /> </span><span style="color: #0000ff">WHEN</span><span style="color: #000000"> price </span><span style="color: #808080">&lt;</span><span style="color: #000000"> </span><span style="color: #800000; font-weight: bold">10</span><span style="color: #000000"> </span><span style="color: #0000ff">THEN</span><span style="color: #000000"> </span><span style="color: #ff0000">'</span><span style="color: #ff0000">Bargain</span><span style="color: #ff0000">'</span><span style="color: #000000"> <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /> </span><span style="color: #0000ff">WHEN</span><span style="color: #000000"> price </span><span style="color: #808080">BETWEEN</span><span style="color: #000000"> </span><span style="color: #800000; font-weight: bold">10</span><span style="color: #000000"> </span><span style="color: #808080">and</span><span style="color: #000000"> </span><span style="color: #800000; font-weight: bold">20</span><span style="color: #000000"> </span><span style="color: #0000ff">THEN</span><span style="color: #000000"> </span><span style="color: #ff0000">'</span><span style="color: #ff0000">Average</span><span style="color: #ff0000">'</span><span style="color: #000000"> <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /> </span><span style="color: #0000ff">ELSE</span><span style="color: #000000"> </span><span style="color: #ff0000">'</span><span style="color: #ff0000">Gift to impress relatives</span><span style="color: #ff0000">'</span><span style="color: #000000"> <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /> </span><span style="color: #0000ff">END</span><span style="color: #000000">, <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /> Title <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /></span><span style="color: #0000ff">ORDER</span><span style="color: #000000"> </span><span style="color: #0000ff">BY</span><span style="color: #000000"> <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /> </span><span style="color: #ff00ff">CASE</span><span style="color: #000000"> <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /> </span><span style="color: #0000ff">WHEN</span><span style="color: #000000"> price </span><span style="color: #0000ff">IS</span><span style="color: #000000"> </span><span style="color: #0000ff">NULL</span><span style="color: #000000"> </span><span style="color: #0000ff">THEN</span><span style="color: #000000"> </span><span style="color: #ff0000">'</span><span style="color: #ff0000">Unpriced</span><span style="color: #ff0000">'</span><span style="color: #000000"> <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /> </span><span style="color: #0000ff">WHEN</span><span style="color: #000000"> price </span><span style="color: #808080">&lt;</span><span style="color: #000000"> </span><span style="color: #800000; font-weight: bold">10</span><span style="color: #000000"> </span><span style="color: #0000ff">THEN</span><span style="color: #000000"> </span><span style="color: #ff0000">'</span><span style="color: #ff0000">Bargain</span><span style="color: #ff0000">'</span><span style="color: #000000"> <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /> </span><span style="color: #0000ff">WHEN</span><span style="color: #000000"> price </span><span style="color: #808080">BETWEEN</span><span style="color: #000000"> </span><span style="color: #800000; font-weight: bold">10</span><span style="color: #000000"> </span><span style="color: #808080">and</span><span style="color: #000000"> </span><span style="color: #800000; font-weight: bold">20</span><span style="color: #000000"> </span><span style="color: #0000ff">THEN</span><span style="color: #000000"> </span><span style="color: #ff0000">'</span><span style="color: #ff0000">Average</span><span style="color: #ff0000">'</span><span style="color: #000000"> <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /> </span><span style="color: #0000ff">ELSE</span><span style="color: #000000"> </span><span style="color: #ff0000">'</span><span style="color: #ff0000">Gift to impress relatives</span><span style="color: #ff0000">'</span><span style="color: #000000"> <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /> </span><span style="color: #0000ff">END</span><span style="color: #000000">, <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /> Title <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /></span><span style="color: #0000ff">GO</span><span style="color: #000000"> <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /> <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" />注意，为了在 </span><span style="color: #0000ff">GROUP</span><span style="color: #000000"> </span><span style="color: #0000ff">BY</span><span style="color: #000000"> 块中使用 </span><span style="color: #ff00ff">CASE</span><span style="color: #000000">，查询语句需要在 </span><span style="color: #0000ff">GROUP</span><span style="color: #000000"> </span><span style="color: #0000ff">BY</span><span style="color: #000000"> 块中重复 </span><span style="color: #0000ff">SELECT</span><span style="color: #000000"> 块中的 </span><span style="color: #ff00ff">CASE</span><span style="color: #000000"> 块。 <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" /> <br /><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" height="16"  alt="" />除了选择自定义字段之外，在很多情况下 </span><span style="color: #ff00ff">CASE</span><span style="color: #000000"> 都非常有用。再深入一步，你还可以得到你以前认为不可能得到的分组排序结果集</span></p> <img src ="http://www.blogjava.net/tinguo002/aggbug/385247.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/tinguo002/" target="_blank">一堣而安</a> 2012-08-10 17:21 <a href="http://www.blogjava.net/tinguo002/archive/2012/08/10/385247.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>