﻿<?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-sooxin-JAVA-文章分类-SQL</title><link>http://www.blogjava.net/sooxin/category/26650.html</link><description /><language>zh-cn</language><lastBuildDate>Fri, 11 Apr 2008 21:52:14 GMT</lastBuildDate><pubDate>Fri, 11 Apr 2008 21:52:14 GMT</pubDate><ttl>60</ttl><item><title>对比两表数据</title><link>http://www.blogjava.net/sooxin/articles/192242.html</link><dc:creator>sooxin</dc:creator><author>sooxin</author><pubDate>Fri, 11 Apr 2008 09:49:00 GMT</pubDate><guid>http://www.blogjava.net/sooxin/articles/192242.html</guid><wfw:comment>http://www.blogjava.net/sooxin/comments/192242.html</wfw:comment><comments>http://www.blogjava.net/sooxin/articles/192242.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sooxin/comments/commentRss/192242.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sooxin/services/trackbacks/192242.html</trackback:ping><description><![CDATA[select &nbsp; * &nbsp; from &nbsp; A &nbsp; where &nbsp; checksum(*) &nbsp; not &nbsp; in &nbsp; (select &nbsp; checksum(*) &nbsp; from &nbsp; B) <br />
<br />
表示是A表有,B表没有的数据. 
<img src ="http://www.blogjava.net/sooxin/aggbug/192242.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sooxin/" target="_blank">sooxin</a> 2008-04-11 17:49 <a href="http://www.blogjava.net/sooxin/articles/192242.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一条删除重复数据且保留一条的SQL</title><link>http://www.blogjava.net/sooxin/articles/182199.html</link><dc:creator>sooxin</dc:creator><author>sooxin</author><pubDate>Tue, 26 Feb 2008 04:34:00 GMT</pubDate><guid>http://www.blogjava.net/sooxin/articles/182199.html</guid><wfw:comment>http://www.blogjava.net/sooxin/comments/182199.html</wfw:comment><comments>http://www.blogjava.net/sooxin/articles/182199.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sooxin/comments/commentRss/182199.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sooxin/services/trackbacks/182199.html</trackback:ping><description><![CDATA[delete&nbsp;&nbsp; from&nbsp;&nbsp; 维修&nbsp;&nbsp; where&nbsp;&nbsp; exists(select&nbsp;&nbsp; 1&nbsp;&nbsp; from&nbsp;&nbsp; 维修 a&nbsp;&nbsp; where&nbsp;&nbsp;&nbsp;&nbsp; a.id&gt;维修.id&nbsp;&nbsp; and&nbsp;&nbsp; 维修.电话=a.电话 and soso)&nbsp;&nbsp; <br />
<img src ="http://www.blogjava.net/sooxin/aggbug/182199.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sooxin/" target="_blank">sooxin</a> 2008-02-26 12:34 <a href="http://www.blogjava.net/sooxin/articles/182199.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>123</title><link>http://www.blogjava.net/sooxin/articles/173289.html</link><dc:creator>sooxin</dc:creator><author>sooxin</author><pubDate>Mon, 07 Jan 2008 04:04:00 GMT</pubDate><guid>http://www.blogjava.net/sooxin/articles/173289.html</guid><wfw:comment>http://www.blogjava.net/sooxin/comments/173289.html</wfw:comment><comments>http://www.blogjava.net/sooxin/articles/173289.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sooxin/comments/commentRss/173289.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sooxin/services/trackbacks/173289.html</trackback:ping><description><![CDATA[select * from 综合 where CarNO in (select CarNO from 总表)<br />
select * from 上海 where CarNO in (select CarNO from 总表)<br />
select * from 一汽 where CarNO in (select CarNO from 总表)<br />
select 连锁.*,总表.ZBStoreName from 连锁,总表 where 连锁.CarNO =总表.CarNO and 连锁.ClintName=总表.ClintName order by 连锁.LSStoreName,总表.ZBStoreName<br />
select * from 维修 where CarNO in (select CarNO from 总表)
<img src ="http://www.blogjava.net/sooxin/aggbug/173289.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sooxin/" target="_blank">sooxin</a> 2008-01-07 12:04 <a href="http://www.blogjava.net/sooxin/articles/173289.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SQL中的日期和时间函数 </title><link>http://www.blogjava.net/sooxin/articles/165654.html</link><dc:creator>sooxin</dc:creator><author>sooxin</author><pubDate>Wed, 05 Dec 2007 13:36:00 GMT</pubDate><guid>http://www.blogjava.net/sooxin/articles/165654.html</guid><wfw:comment>http://www.blogjava.net/sooxin/comments/165654.html</wfw:comment><comments>http://www.blogjava.net/sooxin/articles/165654.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sooxin/comments/commentRss/165654.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sooxin/services/trackbacks/165654.html</trackback:ping><description><![CDATA[<table class="contentTable" cellspacing="0" cellpadding="0" width="92%" align="center" border="0">
    <tbody>
        <tr>
            <td>
            <div class="articleText">1.一个月第一天的<br />
            Select DATEADD(mm, DATEDIFF(mm,0,getdate()), 0)<br />
            <br />
            2.本周的星期一<br />
            Select DATEADD(wk, DATEDIFF(wk,0,getdate()), 0)<br />
            <br />
            3.一年的第一天<br />
            Select DATEADD(yy, DATEDIFF(yy,0,getdate()), 0)<br />
            <br />
            4.季度的第一天<br />
            Select DATEADD(qq, DATEDIFF(qq,0,getdate()), 0)<br />
            <br />
            5.当天的半夜<br />
            Select DATEADD(dd, DATEDIFF(dd,0,getdate()), 0)<br />
            <br />
            6.上个月的最后一天<br />
            Select dateadd(ms,-3,DATEADD(mm, DATEDIFF(mm,0,getdate()), 0))<br />
            <br />
            7.去年的最后一天<br />
            Select dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate()), 0))<br />
            <br />
            8.本月的最后一天<br />
            Select dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0))<br />
            <br />
            9.本年的最后一天<br />
            Select dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate())+1, 0))<br />
            <br />
            10.本月的第一个星期一<br />
            select DATEADD(wk, DATEDIFF(wk,0,dateadd(dd,6-datepart(day,getdate()),getdate())), 0) <br />
            <br />
            返回当前<strong style="color: black; background-color: #a0ffff">日期</strong>和时间<br />
            通过函数GETDATE（），你可以获得当前的<strong style="color: black; background-color: #a0ffff">日期</strong>和时间。函数GETDATE（）可以用来作为DATEDIME型字段的缺省值。这对插入记录时保存当时的时间是有用的。要建立一个表，其中的记录包含有当前的<strong style="color: black; background-color: #a0ffff">日期</strong>和时间，可以添加一个DATETIME型字段，指定其缺省值为函数GETDATE（）的返回值，就象这样：<br />
            <br />
            Create TABLE site_log (<br />
            username VARCHAR(40)，<br />
            useractivity VARCHAR(100)，<br />
            entrydate DATETIME DEFAULT GETDATE())<br />
            <br />
            转换<strong style="color: black; background-color: #a0ffff">日期</strong>和时间<br />
            函数GETDATE（）的返回值在显示时只显示到秒。实际上，<strong style="color: black; background-color: #ffff66">SQL</strong> Sever内部时间可以精确到毫秒级（确切地说，可以精确到3.33毫秒）。<br />
            要得到不同格式的<strong style="color: black; background-color: #a0ffff">日期</strong>和时间，你需要使用函数CONVERT（）。例如，当下面的这个语句执行时，显示的时间将包括毫秒：<br />
            <br />
            Select CONVERT(VARCHAR(30)，GETDATE()，9)<br />
            <br />
            注意例子中数字9的使用。这个数字指明了在显示<strong style="color: black; background-color: #a0ffff">日期</strong>和时间时使用哪种<strong style="color: black; background-color: #a0ffff">日期</strong>和时间格式。当这个语句执行时，将显示如下的<strong style="color: black; background-color: #a0ffff">日期</strong>和时间：<br />
            Nov 30 1997 3:29:55:170AM<br />
            (1 row(s) affected)<br />
            <br />
            在函数CONVERT（）中你可以使用许多种不同风格的<strong style="color: black; background-color: #a0ffff">日期</strong>和时间格式。下表显示了所有的格式。<br />
            <br />
            <strong style="color: black; background-color: #a0ffff">日期</strong>和时间的类型：<br />
            类型值 标准 输出<br />
            0 Default mon dd yyyy hh:miAM<br />
            1 USA mm/dd/yy<br />
            2 ANSI yy.mm.dd<br />
            3 British/French dd/mm/yy<br />
            4 German dd.mm.yy<br />
            5 Italian dd-mm-yy<br />
            6 - dd mon yy<br />
            7 - mon dd，yy<br />
            8 - hh:mi:ss<br />
            9 Default + milliseconds--mon dd yyyy<br />
            hh:mi:ss:mmmAM(or )<br />
            10 USA mm-dd-yy<br />
            11 JAPAN yy/mm/dd<br />
            12 ISO yymmdd<br />
            13 Europe Default + milliseconds--dd mon yyyy<br />
            hh:mi:ss:mmm(24h)<br />
            14 - hh:mi:ss:mmm(24h)<br />
            <br />
            类型0，9，和13总是返回四位的年。对其它类型，要显示世纪，把style值加上100。类型13和14返回24小时时钟的时间。类型0，7，和13返回的月份用三位字符表示（用Nov代表November）.<br />
            <br />
            对表中所列的每一种格式，你可以把类型值加上100来显示有世纪的年（例如，00年将显示为2000年）。例如，要按日本标准显示<strong style="color: black; background-color: #a0ffff">日期</strong>，包括世纪，你应使用如下的语句：<br />
            <br />
            Select CONVERT（VARCHAR（30），GETDATE（），111）<br />
            <br />
            在这个例子中，函数CONVERT（）把<strong style="color: black; background-color: #a0ffff">日期</strong>格式进行转换，显示为1997/11/30<br />
            <br />
            抽取<strong style="color: black; background-color: #a0ffff">日期</strong>和时间<br />
            在许多情况下，你也许只想得到<strong style="color: black; background-color: #a0ffff">日期</strong>和时间的一部分，而不是完整的<strong style="color: black; background-color: #a0ffff">日期</strong>和时间。为了抽取<strong style="color: black; background-color: #a0ffff">日期</strong>的特定部分，你可以使用函数DATEPART（），象这样：<br />
            <br />
            Select site_name &#8216;Site Name&#8217;，<br />
            DATEPART(mm，site_entrydate) &#8216;Month Posted&#8217; FROM site_directory<br />
            <br />
            函数DATEPART（）的参数是两个变量。第一个变量指定要抽取<strong style="color: black; background-color: #a0ffff">日期</strong>的哪一部分；第二个变量是实际的数据。在这个例子中，函数DATEPART（）抽取月份，因为mm代表月份。下面是这个Select 语句的输出结果：<br />
            <br />
            Site Name Month Posted<br />
            &#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;<br />
            Yahoo 2<br />
            Microsoft 5<br />
            Magicw3 5<br />
            (3 row(s) affected)<br />
            <br />
            Month Posted列显示了每个站点被查询的月份。函数DATEPART（）的返回值是一个整数。你可以用这个函数抽取<strong style="color: black; background-color: #a0ffff">日期</strong>的各个不同部分，如下表所示。<br />
            <br />
            <strong style="color: black; background-color: #a0ffff">日期</strong>的各部分及其简写<br />
            <strong style="color: black; background-color: #a0ffff">日期</strong>部分 简写 值<br />
            year yy 1753--9999<br />
            quarter qq 1--4<br />
            month mm 1--12<br />
            day of year dy 1--366<br />
            day dd 1--31<br />
            week wk 1--53<br />
            weekday dw 1--7(Sunday--Saturday)<br />
            hour hh 0--23<br />
            minute mi 0--59<br />
            second ss 0--59<br />
            milisecond ms 0--999<br />
            <br />
            当你需要进行<strong style="color: black; background-color: #a0ffff">日期</strong>和时间的比较时，使用函数DATEPART（）返回整数是有用的。但是，上例中的查询结果（2，5）不是十分易读。要以更易读的格式得到部分的<strong style="color: black; background-color: #a0ffff">日期</strong>和时间，你可以使用函数DATENAME（），如下例所示：<br />
            <br />
            Select site_name &#8216;Site Name&#8217;<br />
            DATENAME(mm，site_entrydate) &#8216;Month Posted&#8217;<br />
            FROM site_directory<br />
            <br />
            函数DATENAME（）和函数DATEPART（）接收同样的参数。但是，它的返回值是一个字符串，而不是一个整数。下面是上例该用DATENAME（）得到的结果：<br />
            <br />
            Site Name Month Postec<br />
            &#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.<br />
            Yahoo February<br />
            Microsoft June<br />
            Magicw3 June<br />
            (3 row(s) affected)<br />
            <br />
            你也可以用函数DATENAE（）来抽取一个星期中的某一天。下面的这个例子同时抽取一周中的某一天和<strong style="color: black; background-color: #a0ffff">日期</strong>中的月份：<br />
            <br />
            Select site_name &#8216;Site Name&#8217;，<br />
            DATENAME(dw，site_entrydate)+ &#8216;-&#8217; + DATENAME（mm，site_entrydate）<br />
            &#8216;Day and Month Posted&#8217; FORM site_directory<br />
            <br />
            这个例子执行时，将返回如下的结果：<br />
            <br />
            Site Name Day and Month Posted<br />
            &#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;<br />
            Yahoo Friday - February<br />
            Microsoft Tuesday - June<br />
            Magicw3 Monday - June<br />
            (3 row(s) affected)<br />
            <br />
            返回<strong style="color: black; background-color: #a0ffff">日期</strong>和时间范围<br />
            当你分析表中的数据时，你也许希望取出某个特定时间的数据。你也许对特定的某一天中――比如说2000年12月25日――访问者在你站点上的活动感兴趣。要取出这种类型的数据，你也许会试图使用这样的Select语句：<br />
            <br />
            Select * FROM weblog Where entrydate="12/25/20000"<br />
            <br />
            不要这样做。这个Select语句不会返回正确的记录――它将只返回<strong style="color: black; background-color: #a0ffff">日期</strong>和时间是12/25/2000 12:00:00:000AM的记录。换句话说，只有刚好在午夜零点输入的记录才被返回。<br />
            <br />
            问题是<strong style="color: black; background-color: #ffff66">SQL</strong> Sever将用完整的<strong style="color: black; background-color: #a0ffff">日期</strong>和时间代替部分<strong style="color: black; background-color: #a0ffff">日期</strong>和时间。例如，当你输入一个<strong style="color: black; background-color: #a0ffff">日期</strong>，但不输入时间时，<strong style="color: black; background-color: #ffff66">SQL</strong> Sever将加上缺省的时间&#8220;12：00：00：000AM&#8221;。当你输入一个时间，但不输入<strong style="color: black; background-color: #a0ffff">日期</strong>时，<strong style="color: black; background-color: #ffff66">SQL</strong> Sever将加上缺省的<strong style="color: black; background-color: #a0ffff">日期</strong>&#8220;Jan 1 1900&#8221;。<br />
            要返回正确的记录，你需要适用<strong style="color: black; background-color: #a0ffff">日期</strong>和时间范围。有不止一种途径可以做到这一点。例如，下面的这个Select 语句将能返回正确的记录：<br />
            <br />
            Select * FROM weblog <br />
            Where entrydate&gt;=&#8221;12/25/2000&#8221; AND entrydate&lt;&#8221;12/26/2000&#8221;<br />
            <br />
            这个语句可以完成任务，因为它选取的是表中的<strong style="color: black; background-color: #a0ffff">日期</strong>和时间大于等于12/25/2000 12:00:00:000AM并小于12/26/2000 12:00:00:000AM的记录。换句话说，它将正确地返回2000年圣诞节这一天输入的每一条记录。<br />
            另一种方法是，你可以使用LIKE来返回正确的记录。通过在<strong style="color: black; background-color: #a0ffff">日期</strong>表达式中包含通配符&#8220;％&#8221;，你可以匹配一个特定<strong style="color: black; background-color: #a0ffff">日期</strong>的所有时间。这里有一个例子：<br />
            <br />
            Select * FROM weblog Where entrydate LIKE &#8216;Dec 25 2000%&#8217;<br />
            <br />
            这个语句可以匹配正确的记录。因为通配符&#8220;％&#8221;代表了任何时间。<br />
            使用这两种匹配<strong style="color: black; background-color: #a0ffff">日期</strong>和时间范围的函数，你可以选择某个月，某一天，某一年，某个小时，某一分钟，某一秒，甚至某一毫秒内输入的记录。但是，如果你使用LIKE 来匹配秒或毫秒，你首先需要使用函数CONVERT（）把<strong style="color: black; background-color: #a0ffff">日期</strong>和时间转换为更精确的格式（参见前面&#8220;转换<strong style="color: black; background-color: #a0ffff">日期</strong>和时间&#8221;一节）。<br />
            <br />
            比较<strong style="color: black; background-color: #a0ffff">日期</strong>和时间<br />
            最后，还有两个<strong style="color: black; background-color: #a0ffff">日期</strong>和时间函数对根据<strong style="color: black; background-color: #a0ffff">日期</strong>和时间取出记录是有用的。使用函数DATEADD（）和DATEDIFF（），你可以比较<strong style="color: black; background-color: #a0ffff">日期</strong>的早晚。例如，下面的Select语句将显示表中的每一条记录已经输入了多少个小时：<br />
            <br />
            Select entrydate &#8216;Time Entered&#8217;<br />
            DATEDIFF(hh，entrydate，GETDATE()) &#8216;Hours Ago&#8217; FROM weblog<br />
            <br />
            如果当前时间是2000年11月30号下午6点15分，则会返回如下的结果：<br />
            <br />
            Time Entered Hours Ago<br />
            &#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;..<br />
            Dec 30 2000 4:09PM 2<br />
            Dec 30 2000 4:13PM 2<br />
            Dec 1 2000 4:09PM 698<br />
            (3 row(s) affected)<br />
            <br />
            函数DADEDIFF（）的参数是三个变量。第个变量指定<strong style="color: black; background-color: #a0ffff">日期</strong>的某一部分。在这个例子中，是按小时对<strong style="color: black; background-color: #a0ffff">日期</strong>进行比较，（要了解<strong style="color: black; background-color: #a0ffff">日期</strong>各部分的详细内容，请参考表11.2）在<strong style="color: black; background-color: #a0ffff">日期</strong>2000年11月1日和2000年11月30日的指定时间之间有689个小时。另外两个参数是要进行比较的时间。为了返回一个正数，较早的时间应该先给。<br />
            函数DATEADD（）把两个<strong style="color: black; background-color: #a0ffff">日期</strong>相加。当你需要计算截止<strong style="color: black; background-color: #a0ffff">日期</strong>这一类的数据时，这个函数是有用处的。假如你要查询一个月前注册用户的记录，你可以使用如下的Select语句：<br />
            <br />
            Select username &#8216;User Name&#8217;，<br />
            DATEADD(mm，1，firstvisit_date) &#8216;Registration Expires&#8217;<br />
            FROM registration_table<br />
            <br />
            函数DATEADD（）的参数有三个变量。第一个变量代表<strong style="color: black; background-color: #a0ffff">日期</strong>的某一部分，这个例子用到了代表月份的mm。第二个变量指定了时间的间隔――在本例中是一个月。最后一个变量是一个<strong style="color: black; background-color: #a0ffff">日期</strong>，在这个例子中，<strong style="color: black; background-color: #a0ffff">日期</strong>是取自DATETIME型字段firstvisit_date.假设当前<strong style="color: black; background-color: #a0ffff">日期</strong>是June 30，2000，这个语句将返回如下的内容：<br />
            <br />
            User Name Registration Expires<br />
            &#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;<br />
            Bill Gates Jul 30 2000 4:09PM<br />
            President Clinton Jul 30 2000 4:13PM<br />
            William Shakespeare Jul 1 2000 4:09PM<br />
            (3 row(s) affected)<br />
            <br />
            注意：<br />
            使用函数DATEADD（）把一个<strong style="color: black; background-color: #a0ffff">日期</strong>加上一个月，它并不加上30天。这个函数只简单地把月份值加1。&nbsp; </div>
            <div class="articleText">
            <p>1.&nbsp;当前系统日期、时间&nbsp;<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; select getdate()&nbsp;</p>
            <p>2. dateadd&nbsp; 在向指定日期加上一段时间的基础上，返回新的 datetime 值<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 例如：向日期加上2天<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; select dateadd(day,2,'2004-10-15')&nbsp;--返回：2004-10-17 00:00:00.000</p>
            <p>3. datediff 返回跨两个指定日期的日期和时间边界数。<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; select datediff(day,'2004-09-01','2004-09-18')&nbsp;&nbsp; --返回：17</p>
            <p>4. datepart 返回代表指定日期的指定日期部分的整数。<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;select datepart(month, '2004-10-15')&nbsp; --返回 10</p>
            <p>5. datename 返回代表指定日期的指定日期部分的字符串<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;select datename(weekday, '2004-10-15')&nbsp; --返回：星期五</p>
            <p>6. day(), month(),year() --可以与datepart对照一下</p>
            <p>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;select 当前日期=convert(varchar(10),getdate(),120),</p>
            <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 当前时间=convert(varchar(8),getdate(),114)</p>
            <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; select datename(dw,'2004-10-15')</p>
            <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; select 本年第多少周=datename(week,'2004-10-15'),</p>
            <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;今天是周几=datename(weekday,'2004-10-15')<br />
            </p>
            </div>
            <div class="articleText">
            <table id="Table1" height="197" cellspacing="1" cellpadding="3" width="376" bgcolor="#666666" border="0">
                <tbody>
                    <tr>
                        <td bgcolor="#cccccc" height="30"><strong>函数</strong></td>
                        <td bgcolor="#cccccc" height="30"><strong>参数/功能</strong></td>
                    </tr>
                    <tr>
                        <td bgcolor="#ffffff">GetDate( ) </td>
                        <td bgcolor="#ffffff">返回系统目前的<strong style="color: black; background-color: #a0ffff">日期</strong>与时间</td>
                    </tr>
                    <tr>
                        <td bgcolor="#ffffff">DateDiff (interval,date1,date2)</td>
                        <td bgcolor="#ffffff">以interval 指定的方式，返回date2 与date1两个<strong style="color: black; background-color: #a0ffff">日期</strong>之间的差值 date2-date1</td>
                    </tr>
                    <tr>
                        <td bgcolor="#ffffff">DateAdd (interval,number,date)</td>
                        <td bgcolor="#ffffff">以interval指定的方式，加上number之后的<strong style="color: black; background-color: #a0ffff">日期</strong></td>
                    </tr>
                    <tr>
                        <td bgcolor="#ffffff">DatePart (interval,date)</td>
                        <td bgcolor="#ffffff">返回<strong style="color: black; background-color: #a0ffff">日期</strong>date中，interval指定部分所对应的整数值</td>
                    </tr>
                    <tr>
                        <td bgcolor="#ffffff">DateName (interval,date)</td>
                        <td bgcolor="#ffffff">返回<strong style="color: black; background-color: #a0ffff">日期</strong>date中，interval指定部分所对应的字符串名称</td>
                    </tr>
                </tbody>
            </table>
            </div>
            <div class="articleText"><br />
            参数 interval的设定值如下： <br />
            </div>
            <div class="articleText">
            <table id="Table2" cellspacing="1" cellpadding="3" width="492" bgcolor="#999999" border="0">
                <tbody>
                    <tr>
                        <td width="77" bgcolor="#cccccc" height="30"><strong>值</strong></td>
                        <td width="144" bgcolor="#cccccc" height="30"><strong>缩 写（<strong style="color: black; background-color: #ffff66">Sql</strong> Server）</strong></td>
                        <td width="118" bgcolor="#cccccc" height="30"><strong>Access 和 ASP</strong></td>
                        <td width="124" bgcolor="#cccccc" height="30"><strong>说明</strong></td>
                    </tr>
                    <tr>
                        <td bgcolor="#ffffff">Year</td>
                        <td bgcolor="#ffffff">Yy</td>
                        <td bgcolor="#ffffff">yyyy</td>
                        <td bgcolor="#ffffff">年 1753 ~ 9999</td>
                    </tr>
                    <tr>
                        <td bgcolor="#ffffff">Quarter</td>
                        <td bgcolor="#ffffff">Qq</td>
                        <td bgcolor="#ffffff">q&nbsp; </td>
                        <td bgcolor="#ffffff">季 1 ~ 4</td>
                    </tr>
                    <tr>
                        <td bgcolor="#ffffff">Month</td>
                        <td bgcolor="#ffffff">Mm</td>
                        <td bgcolor="#ffffff">m&nbsp; </td>
                        <td bgcolor="#ffffff">月1 ~ 12</td>
                    </tr>
                    <tr>
                        <td bgcolor="#ffffff">Day of year</td>
                        <td bgcolor="#ffffff">Dy</td>
                        <td bgcolor="#ffffff">y </td>
                        <td bgcolor="#ffffff">一年的日数,一年中的第几日 1-366</td>
                    </tr>
                    <tr>
                        <td bgcolor="#ffffff">Day</td>
                        <td bgcolor="#ffffff">Dd</td>
                        <td bgcolor="#ffffff">d&nbsp; </td>
                        <td bgcolor="#ffffff">日，1-31</td>
                    </tr>
                    <tr>
                        <td bgcolor="#ffffff">Weekday</td>
                        <td bgcolor="#ffffff">Dw</td>
                        <td bgcolor="#ffffff">w</td>
                        <td bgcolor="#ffffff">一周的日数，一周中的第几日 1-7</td>
                    </tr>
                    <tr>
                        <td bgcolor="#ffffff">Week</td>
                        <td bgcolor="#ffffff">Wk</td>
                        <td bgcolor="#ffffff">ww </td>
                        <td bgcolor="#ffffff">周，一年中的第几周 0 ~ 51</td>
                    </tr>
                    <tr>
                        <td bgcolor="#ffffff">Hour</td>
                        <td bgcolor="#ffffff">Hh</td>
                        <td bgcolor="#ffffff">h&nbsp; </td>
                        <td bgcolor="#ffffff">时0 ~ 23</td>
                    </tr>
                    <tr>
                        <td bgcolor="#ffffff">Minute</td>
                        <td bgcolor="#ffffff">Mi</td>
                        <td bgcolor="#ffffff">n&nbsp;</td>
                        <td bgcolor="#ffffff">分钟0 ~ 59</td>
                    </tr>
                    <tr>
                        <td bgcolor="#ffffff">Second</td>
                        <td bgcolor="#ffffff">Ss</td>
                        <td bgcolor="#ffffff">s</td>
                        <td bgcolor="#ffffff">秒 0 ~ 59</td>
                    </tr>
                    <tr>
                        <td bgcolor="#ffffff">Millisecond</td>
                        <td bgcolor="#ffffff">Ms</td>
                        <td bgcolor="#ffffff">-</td>
                        <td bgcolor="#ffffff">毫秒 0 ~ 999</td>
                    </tr>
                </tbody>
            </table>
            </div>
            <div class="articleText"><br />
            </div>
            </td>
        </tr>
    </tbody>
</table>
<img src ="http://www.blogjava.net/sooxin/aggbug/165654.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sooxin/" target="_blank">sooxin</a> 2007-12-05 21:36 <a href="http://www.blogjava.net/sooxin/articles/165654.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>两条SQL语句</title><link>http://www.blogjava.net/sooxin/articles/161801.html</link><dc:creator>sooxin</dc:creator><author>sooxin</author><pubDate>Tue, 20 Nov 2007 02:38:00 GMT</pubDate><guid>http://www.blogjava.net/sooxin/articles/161801.html</guid><wfw:comment>http://www.blogjava.net/sooxin/comments/161801.html</wfw:comment><comments>http://www.blogjava.net/sooxin/articles/161801.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sooxin/comments/commentRss/161801.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sooxin/services/trackbacks/161801.html</trackback:ping><description><![CDATA[<p>取出一个表中某字段相同的数据<br />
select top 339 * from Sheet&nbsp; where carNO in (select carNO from Sheet group by carNO having count(*)&gt;1) order by carNO DESC<br />
<br />
对比两表中区分的数据并提出<br />
<br />
select&nbsp;&nbsp; *&nbsp;&nbsp; from&nbsp;&nbsp; B&nbsp;&nbsp; where&nbsp;&nbsp; checksum(*)&nbsp;&nbsp; not&nbsp;&nbsp; in&nbsp;&nbsp; (select&nbsp;&nbsp; checksum(*)&nbsp;&nbsp; from&nbsp;&nbsp; A) <br />
select&nbsp;&nbsp; *&nbsp;&nbsp; from&nbsp;&nbsp; kehu&nbsp;&nbsp; where&nbsp;&nbsp; checksum(车牌)&nbsp;&nbsp; not&nbsp;&nbsp; in&nbsp;&nbsp; (select&nbsp;&nbsp; checksum(车牌)&nbsp;&nbsp; from&nbsp;&nbsp; member)&nbsp; and&nbsp; checksum(客户名称) <br />
<br />
表示是A表有,B表没有的数据. <br />
</p>
<img src ="http://www.blogjava.net/sooxin/aggbug/161801.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sooxin/" target="_blank">sooxin</a> 2007-11-20 10:38 <a href="http://www.blogjava.net/sooxin/articles/161801.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一些有用的sql语句实例</title><link>http://www.blogjava.net/sooxin/articles/153939.html</link><dc:creator>sooxin</dc:creator><author>sooxin</author><pubDate>Thu, 18 Oct 2007 08:37:00 GMT</pubDate><guid>http://www.blogjava.net/sooxin/articles/153939.html</guid><wfw:comment>http://www.blogjava.net/sooxin/comments/153939.html</wfw:comment><comments>http://www.blogjava.net/sooxin/articles/153939.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sooxin/comments/commentRss/153939.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sooxin/services/trackbacks/153939.html</trackback:ping><description><![CDATA[<p>1&nbsp;&nbsp;&nbsp;&nbsp; Examples<br />
=======================================</p>
<p>select id,age,Fullname from tableOne a<br />
where a.id!=(select max(id) from tableOne b where a.age=b.age and a.FullName=b.FullName) </p>
<p>=========================================</p>
<p>delete from dbo.Schedule where </p>
<p>RoomID=29 and StartTime&gt;'2005-08-08' and EndTime&lt;'2006-09-01' and Remark like 'preset' and UserID=107</p>
<p>and (</p>
<p>&nbsp;&nbsp; (ScheduleID&gt;=3177 and ScheduleID&lt;=3202 )</p>
<p>&nbsp;or (ScheduleID&gt;=3229 and ScheduleID&lt;=3254) </p>
<p>&nbsp;or (ScheduleID&gt;=3307 and ScheduleID&lt;=3332) </p>
<p>&nbsp;========================================= </p>
<p>delete tableOne <br />
where tableOne.id!=(select max(id) from tableOne b where tableOne.age=b.age and tableOne.FullName=b.FullName);</p>
<p>==========================================</p>
<p>DataClient&nbsp;&nbsp;&nbsp; 12/23/2005 5:03:38 PM </p>
<p>select top 5&nbsp;&nbsp; </p>
<p>DOC_MAIN.CURRENT_VERSION_NO as Version, DOC_MAIN.MODIFY_DATE as ModifyDT, DOC_MAIN.SUMMARY as Summary, DOC_MAIN.AUTHOR_EMPLOYEE_NAME as AuthorName, DOC_MAIN.TITLE as Title, DOC_MAIN.DOCUMENT_ID as DocumentID,&nbsp;&nbsp; Attribute.ATTRIBUTE_ID as AttributeId, Attribute.CATALOG_ID as CatalogId,&nbsp;&nbsp; DOC_STATISTIC.VISITE_TIMES as VisiteTimes, DOC_STATISTIC.DOCUMENT_ID as DocumentID2 </p>
<p>from DOC_MAIN DOC_MAIN </p>
<p>Inner join CATALOG_SELF_ATTRIBUTE Attribute on DOC_MAIN.CATALOG_ID=Attribute.CATALOG_ID </p>
<p>Left join DOC_STATISTIC DOC_STATISTIC on DOC_MAIN.DOCUMENT_ID=DOC_STATISTIC.DOCUMENT_ID </p>
<p>where (DOC_MAIN.AUTHOR_EMPLOYEE_ID = 1) and (Attribute.ATTRIBUTE_ID = 11) </p>
<p>order by VisiteTimes DESC</p>
<p>====================================</p>
<p>select top 1 DOCUMENT_ID,EMPLOYEE_NAME,COMMENT_DATE,COMMENT_VALUE</p>
<p>from dbo.DOC_COMMENT</p>
<p>where DOCUMENT_ID=19 and COMMENT_DATE = (select max(COMMENT_DATE) from DOC_COMMENT where DOCUMENT_ID=19)</p>
<p>====================================</p>
<p>&nbsp;</p>
<p>select TITLE, (select top 1 EMPLOYEE_NAME</p>
<p>from dbo.DOC_COMMENT where DOCUMENT_ID=19) Commentman, </p>
<p>(select top 1 COMMENT_DATE</p>
<p>from dbo.DOC_COMMENT where DOCUMENT_ID=19) COMMENT_DATE</p>
<p>from DOC_MAIN where DOCUMENT_ID=19</p>
<p>======================================</p>
<p>alter view ExpertDocTopComment</p>
<p>as </p>
<p>&nbsp;</p>
<p>select&nbsp;&nbsp; DOCUMENT_ID, max(ORDER_NUMBER ) as lastednum</p>
<p>from dbo.DOC_COMMENT</p>
<p>group by DOCUMENT_ID </p>
<p>&nbsp;</p>
<p>go </p>
<p>alter view ExpertDocView</p>
<p>as</p>
<p>select TITLE&nbsp;&nbsp; , a.AUTHOR_EMPLOYEE_ID , c.EMPLOYEE_NAME , c.COMMENT_DATE</p>
<p>from dbo.DOC_MAIN&nbsp;&nbsp;&nbsp; a</p>
<p>left join </p>
<p>ExpertDocTopComment b</p>
<p>&nbsp;</p>
<p>on </p>
<p>a.DOCUMENT_ID = b.DOCUMENT_ID </p>
<p>&nbsp;</p>
<p>inner join </p>
<p>DOC_COMMENT c</p>
<p>on </p>
<p>b.DOCUMENT_ID = c.DOCUMENT_ID and </p>
<p>b.lastednum = c. ORDER_NUMBER</p>
<p>======================================</p>
<p>select a.Id ,a.WindowsUsername ,</p>
<p>&nbsp;0 , 1 , </p>
<p>a.Email ,</p>
<p>&nbsp;</p>
<p>case b.EnFirstName when null then a.Username else b.EnFirstName end,</p>
<p>case b.EnLastName when null then a.Username else b.EnLastName end</p>
<p>from UUMS_KM.dbo.UUMS_User a</p>
<p>left join</p>
<p>UUMS_KM.dbo.HR_Employee b</p>
<p>on </p>
<p>a. HR_EmployeeId = b.id</p>
<p>=====================================</p>
<p>列出上传文档最多的五个人的ID</p>
<p>select AUTHOR_EMPLOYEE_ID,count(AUTHOR_EMPLOYEE_ID)</p>
<p>from dbo.DOC_MAIN</p>
<p>group by AUTHOR_EMPLOYEE_ID</p>
<p>order by count(AUTHOR_EMPLOYEE_ID)</p>
<p>2719&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2</p>
<p>6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 9</p>
<p>12&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 30</p>
<p>1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 116</p>
<p>列出上传文档最多的五个人的信息</p>
<p>select distinct AUTHOR_EMPLOYEE_ID ,AUTHOR_EMPLOYEE_NAME</p>
<p>from dbo.DOC_MAIN </p>
<p>where AUTHOR_EMPLOYEE_ID </p>
<p>in (</p>
<p>select top 5 AUTHOR_EMPLOYEE_ID</p>
<p>from dbo.DOC_MAIN</p>
<p>group by AUTHOR_EMPLOYEE_ID</p>
<p>order by count(AUTHOR_EMPLOYEE_ID)</p>
<p>)</p>
<p>=================================</p>
<img src ="http://www.blogjava.net/sooxin/aggbug/153939.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sooxin/" target="_blank">sooxin</a> 2007-10-18 16:37 <a href="http://www.blogjava.net/sooxin/articles/153939.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>