ÇóSQLÓï¾ä - MS-SQL Server / »ù´¡Àà
±í1
ÁÐÃû ¿ªÊ¼ ½áÊø
Êý¾Ý 2010-05-25 11:00 2010-05-29 14:00
ÈçºÎ²ÅÄÜת»»³ÉÒÔÏÂÊý¾Ý
±í2
ÁÐÃû ¿ªÊ¼ ½áÊø
Êý¾Ý 2010-05-25 11:00 2010-05-25 18:00
2010-05-26 09:00 2010-05-26 18:00
2010-05-27 09:00 2010-05-27 18:00
2010-05-28 09:00 2010-05-28 18:00
2010-05-29 09:00 2010-05-29 14:00
¿ªÊ¼ºÍ½áÊø ¶¼ÊÇdatetimeÊý¾ÝÀàÐÍ
ûÍêÈ«¿´Ã÷°×LZµÄ±í½á¹¹ÊÇʲôÇé¿ö¡£
Èç¹ûÊÇÈÕÆÚʱ¼ä¶Î»®·ÖµÄ»°£¬¿ÉÒԲο¼ÏÂÃæ´úÂ룺
SQL code:
DECLARE @BDate datetime
DECLARE @EDate datetime
SET @BDate = '2010-05-25 11:00'
SET @EDate = '2010-05-29 14:00'
SELECT
BTime = CASE WHEN @BDate > BTime THEN @BDate ELSE BTime END,
ETime = CASE WHEN @EDate < ETime THEN @EDate ELSE ETime END
from (
SELECT
BTime = DATEADD(hour, 9,date),
ETime = DATEADD(hour,18,date)
from (
SELECT date = DATEADD(day,n-1,CONVERT(char(8),@BDate,112))
from Nums
WHERE n <= DATEDIFF(day,@BDate,@EDate)+1
) Calendar
) tmp
ÆäÖУº
Nums(n int NOT NULL PRIMARY KEY CLUSTERED)´æ´¢1µ½1MµÄÊý×Ö¡£
Ò²¿ÉÒÔרÃŽ¨Ò»¸öCalendar±í£¬´æ´¢ÆóÒµ¿ÉÄÜÓõ½µÄÈÕÆÚÊý¾Ý£¬Ò»ÌìÒ»Ìõ¼Ç¼£¬ÒÔÈÕÆÚΪÖ÷¼ü£¨ÇÒ¾Û½¹Ë÷Òý£©£¬»¹¿ÉÒÔ±£´æ¹¤×÷ÈÕ¡¢¿ªÅÌÈÕ£¨¹ÉƱÐÐÒµ£©µÈÌØÊâÈÕÆÚ£¬ÒÔ¹
Ïà¹ØÎÊ´ð£º
ÎÒÒ»¸öÏîÄ¿£¬Óиö²åÈë²Ù×÷£¬¾ßÌåÊÇÕâÑùµÄ£º
ÎÒÓнø»õÐÅÏ¢±í¡£ÔÚ³ö»õʱѡÔñÏàÓ¦µÄ½ø»õÐÅÏ¢£¬ÊäÈëÊýÁ¿£¬Ñ¡Ôñ²¿Ãź󣬵㱣´æ°´Å¥£¬ÓÉÓÚÍøÂçÑÓʱ£¬µãÒ»ÏÂûÓз´Ó³£¬ÓÚÊÇÓû§¾ÍÓÖµãһϣ¬µ¼ÖÂÒ»´Î²åÈëÁËÁ½Ìõ¼Ç¼:
Àý£º
......
ÎÒÓÐÒ»¸ö±í£¬½á¹¹ÊÇÕâÑù¡£
ת³ö µ¥Î» תÈ뵥λ ±ÊÊý ½ð¶î
date(Ö÷) outid(Ö÷) inid(Ö÷) num amt
2009 1 2 1 500 Ϊ 1 µ¥Î» ÔÚ2009Ä ......
ÏÖÔÚÓÐÁ½ÕÅ±í£ºÎÄÕÂÖ÷±íA(articleId,articleTitle)£¬ÎÄÕÂÆÀÂÛ±íB(commentId,articleId,commentTitle)
ÏÖÔÚÎÒÏëʵÏÖÕâÑùµÄ¹¦ÄÜ£ºÁгöÎÄÕÂÁÐ±í£¬ÆäÖÐÿƪÎÄÕ±êÌâÏÂÃæÁгö´ËÎÄÕµÄǰ2¸öÎÄÕÂÆÀÂÛ£¬ÇëÎÊsqlÓï¾äÔõôд°¡ ......
tab1 ×Ö¶Î:billdate,goodsid,incount,inmoney,outcount,outmoney,endprice,endcount,endamt
tab2 ×Ö¶Î:goodsid,goodskind£¨ÉÌÆ·ÀàÐÍ£©
tab3 ×Ö¶Î:goodskind£¨ÉÌÆ·ÀàÐÍ£©,kindname
½á¹û£º
µÃµ½ÉÌÆ·ÀàÐÍÔÚÒ»¶Îʱ¼ä ......
ÎÒ¾õµÃmysqlºÍsqlserverÓй²Í¬µÄµØ·½£º
ÓиöÎÊÌâÊǹØÓÚ±íµÄËøÎÊÌ⣺
½ø³ÌA ½ø³ÌB
select * from user where id in lock share mode£¨¹²ÏíËø)
&nb ......