SQLÖÐDATEADDºÍDATEDIFFµÄÓ÷¨(ÈÕÆÚ)
SQLÖÐDATEADDºÍDATEDIFFµÄÓ÷¨
2009-12-10 22:16
¹Ì¶¨ÈÕÆÚ¼õÒ»¸öÔ£¨ÈÕ¡¢Ä꣩
dateadd(±í´ïʽ1£¬±í´ïʽ2£¬±í´ïʽ3£©
±í´ïʽ1ΪMM»òYY»òDD
±í´ïʽ2Ϊ1
±í´ïʽ3ΪҪ¼õµÄÈÕÆÚ
Ò»¸öÔµĵÚÒ»Ìì
µÚÒ»¸öÀý×Ó£¬ÎÒ½«¸æËßÄãÈçºÎ´Óµ±Ç°ÈÕÆÚÈ¥Õâ¸öÔµÄ×îºóÒ»Ìì¡£Çë×¢Ò⣺Õâ¸öÀý×ÓÒÔ¼°ÕâÆªÎÄÕÂÖÐµÄÆäËûÀý×Ó¶¼½«Ö»Ê¹ÓÃDATEDIFFºÍDATEADDº¯ÊýÀ´¼ÆËãÎÒÃÇÏëÒªµÄÈÕÆÚ¡£Ã¿Ò»¸öÀý×Ó¶¼½«Í¨¹ý¼ÆË㵫ǰµÄʱ¼ä¼ä¸ô£¬È»ºó½øÐмӼõÀ´µÃµ½ÏëÒª¼ÆËãµÄÈÕÆÚ¡£
ÕâÊǼÆËãÒ»¸öÔµÚÒ»ÌìµÄSQL ½Å±¾£º
Select DATEADD(mm, DATEDIFF(mm,0,getdate()), 0)
ÎÒÃǰÑÕâ¸öÓï¾ä·Ö¿ªÀ´¿´¿´ËüÊÇÈçºÎ¹¤×÷µÄ¡£×îºËÐĵĺ¯ÊýÊÇgetdate()£¬´ó²¿·ÖÈ˶¼ÖªµÀÕâ¸öÊÇ·µ»Øµ±Ç°µÄÈÕÆÚºÍʱ¼äµÄº¯Êý¡£ÏÂÒ»¸öÖ´Ðеĺ¯ÊýDATEDIFF(mm,0,getdate())ÊǼÆË㵱ǰÈÕÆÚºÍ“1900-01-01¡¡00:00:00.000”Õâ¸öÈÕÆÚÖ®¼äµÄÔÂÊý¡£¼Çס£ºÊ±ÆÚºÍʱ¼ä±äÁ¿ºÍºÁÃëÒ»ÑùÊÇ´Ó“1900-01-01 00:00:00.000”¿ªÊ¼¼ÆËãµÄ¡£Õâ¾ÍÊÇΪʲôÄã¿ÉÒÔÔÚDATEDIFFº¯ÊýÖÐÖ¸¶¨µÚÒ»¸öʱ¼ä±í´ïʽΪ“0”¡£ÏÂÒ»¸öº¯ÊýÊÇDATEADD£¬Ôö¼Óµ±Ç°ÈÕÆÚµ½“1900-01-01”µÄÔÂÊý¡£Í¨¹ýÔö¼ÓÔ¤¶¨ÒåµÄÈÕÆÚ“1900-01-01”ºÍµ±Ç°ÈÕÆÚµÄÔÂÊý£¬ÎÒÃÇ¿ÉÒÔ»ñµÃÕâ¸öÔµĵÚÒ»Ìì¡£ÁíÍ⣬¼ÆËã³öÀ´µÄÈÕÆÚµÄʱ¼ä²¿·Ö½«»áÊÇ“00:00:00.000”¡£
Õâ¸ö¼ÆËãµÄ¼¼ÇÉÊÇÏȼÆË㵱ǰÈÕÆÚµ½“1900-01-01”µÄʱ¼ä¼ä¸ôÊý£¬È»ºó°ÑËü¼Óµ½“1900-01-01”ÉÏÀ´»ñµÃÌØÊâµÄÈÕÆÚ£¬Õâ¸ö¼¼ÇÉ¿ÉÒÔÓÃÀ´¼ÆËãºÜ¶à²»Í¬µÄÈÕÆÚ¡£ÏÂÒ»¸öÀý×ÓÒ²ÊÇÓÃÕâ¸ö¼¼ÇÉ´Óµ±Ç°ÈÕÆÚÀ´²úÉú²»Í¬µÄÈÕÆÚ¡£
±¾ÖܵÄÐÇÆÚÒ»
ÕâÀïÎÒÊÇÓÃÖÜ(wk)µÄʱ¼ä¼ä¸ôÀ´¼ÆËãÄÄÒ»ÌìÊDZ¾ÖܵÄÐÇÆÚÒ»¡£
Select DATEADD(wk, DATEDIFF(wk,0,getdate()), 0)
Ò»ÄêµÄµÚÒ»Ìì
ÏÖÔÚÓÃÄê(yy)µÄʱ¼ä¼ä¸ôÀ´ÏÔʾÕâÒ»ÄêµÄµÚÒ»Ìì¡£
Select DATEADD(yy, DATEDIFF(yy,0,getdate()), 0)
¼¾¶ÈµÄµÚÒ»Ìì
¼ÙÈçÄãÒª¼ÆËãÕâ¸ö¼¾¶ÈµÄµÚÒ»Ì죬Õâ¸öÀý×Ó¸æËßÄã¸ÃÈçºÎ×ö¡£
Select DATEADD(qq, DATEDIFF(qq,0,getdate()), 0)
µ±ÌìµÄ°ëÒ¹
Ôø¾ÐèҪͨ¹ýgetdate()º¯ÊýΪÁË·µ»ØÊ±¼äÖµ½Øµôʱ¼ä²¿·Ö£¬¾Í»á¿¼Âǵ½µ±Ç°ÈÕÆÚÊDz»ÊÇÔÚ°ëÒ¹¡£¼ÙÈçÕâÑù£¬Õâ¸öÀý×ÓʹÓÃDATEDIFFºÍDATEADDº¯ÊýÀ´»ñµÃ°ëÒ¹µÄʱ¼äµã¡£
Select DATEADD(dd, DATEDIFF(dd,0,getdate()), 0)
ÉîÈëDATEDIFFºÍDATEADDº¯Êý¼ÆËã
Äã¿ÉÒÔÃ÷°×£¬Í¨¹ýʹÓüòµ¥µÄDATEDIFFºÍDATEADDº¯Êý¼ÆË㣬Äã¿ÉÒÔ·¢Ïֺܶ಻ͬµÄ¿ÉÄÜÓÐÒâÒåµÄÈÕÆÚ¡£
Ŀǰ
Ïà¹ØÎĵµ£º
Pl/sql ±à³ÌÖ®case whenµÄÓ÷¨£º£¨t3.LOCAL_BF_KND='111000' -- ±¾Ô»ù±¾ÔÂ×â·Ñ£©
select sum(t1.FAV_FEE) from bi_rw.FO_A_2FAV_M_G t1, bi_rw.D_BILLFEE_KND t3 where t1.BILLFEE_KND=t3.BILLFEE_KND(+) and t3.LOCAL_BF_KND='111000' --1310557.76
Èç¹û²»±ãÓÚ°ÑÌõ¼þt3.LOCAL_BF_KND='111000' дÔÚwhereÌ ......
Çå³ý SQL SERVER 2005 ÊÂÎñÈÕÖ¾
£±.ÓÒ¼üÔÚÇå³ýÈÕÖ¾µÄÊý¾Ý¿â£¬Èç“TestDB”£¬µã»÷[н¨²éѯ£¨Q£©]
£².ÊäÈëÒÔÏÂSQLÓï¾ä£¬ÆäÖГTestDB”ÊÇÊý¾Ý¿âÃû³Æ
DUMP TRANSACTION TestDB WITH NO_LOG
£³.Ö´ÐиÃSQL£¬³É¹¦ºó¼ÌÐøÒÔϲÙ×÷
£´.ÓÒ¼ü¸ÃÊý¾Ý¿â½Úµã£¬µã»÷[ÈÎÎñ£¨T£©] -> [ÊÕËõ£¨S£©] -> [Îļþ ......
1.
ÓÃÒ»ÌõSQL
Óï¾ä ²éѯ³öÿÃſζ¼´óÓÚ80
·ÖµÄѧÉúÐÕÃû
name kecheng fenshu
ÕÅÈý
ÓïÎÄ 81
ÕÅÈý
Êýѧ 75
ÀîËÄ
ÓïÎÄ &nbs ......
ǰÑÔ£º
sql_trace ÊÇÎÒÔÚ¹¤×÷Öо³£ÒªÓõ½µÄµ÷ÓŹ¤¾ß£¬Ïà±È½Ïstatspack ÎÒ¸üÔ¸ÒâÓÃÕâ¸ö¹¤¾ß¡£
ÒòΪÊý¾Ý¿âÂýÔÒòµÄ85%ÒÔÉÏÊÇÓÉÓÚsqlÎÊÌâÔì³ÉµÄ£¬statspackûÓÐsqlµÄÖ´Ðмƻ®¡£ÏÔʾûÓÐËüÖ±¹Û£¬·½±ã£¬¶ÔÏëÒªÕë¶ÔÐÔ²»Ç¿£¬
1£¬½éÉÜÊý¾Ý¿âµ÷ÓÅÐèÒª¾³£»áÓõ½µÄ¹¤¾ß ......
ÎÒÏÈÅ×שÒýÓñ:
1. ¿ª·¢ÐÔ: SQLSERVER²»ÄÜ,ORACLEÄÜ×°ÔÚUNIXÉÏ
2. ·ÖÇø±í: SQLSERVER²»Ä ......