SQLʱ¼ä±È½Ï dateDiff·½·¨Ê¹ÓÃ
DateDiff
¡¡¡¡DateDiff: SQL serverº¯Êý
¡¡¡¡·µ»Ø Variant (Long) µÄÖµ£¬±íʾÁ½¸öÖ¸¶¨ÈÕÆÚ¼äµÄʱ¼ä¼ä¸ôÊýÄ¿¡£
¡¡¡¡Óï·¨
¡¡¡¡DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]])
¡¡¡¡DateDiff º¯ÊýÓï·¨ÖÐÓÐÏÂÁÐÃüÃû²ÎÊý£º
¡¡¡¡²¿·Ö ÃèÊö
¡¡¡¡interval ±ØÒª¡£×Ö·û´®±í´ïʽ£¬±íʾÓÃÀ´¼ÆËãdate1 ºÍ date2 µÄʱ¼ä²îµÄʱ¼ä¼ä¸ô
¡¡¡¡Date1¡õdate2 ±ØÒª£»Variant (Date)¡£¼ÆËãÖÐÒªÓõ½µÄÁ½¸öÈÕÆÚ¡£
¡¡¡¡Firstdayofweek ¿ÉÑ¡¡£Ö¸¶¨Ò»¸öÐÇÆÚµÄµÚÒ»ÌìµÄ³£Êý¡£Èç¹ûδÓèÖ¸¶¨£¬ÔòÒÔÐÇÆÚÈÕΪµÚÒ»Ìì¡£
¡¡¡¡firstweekofyear ¿ÉÑ¡¡£Ö¸¶¨Ò»ÄêµÄµÚÒ»Öܵij£Êý¡£Èç¹ûδÓèÖ¸¶¨£¬ÔòÒÔ°üº¬ 1 Ô 1 ÈÕµÄÐÇÆÚΪµÚÒ»ÖÜ¡£
¡¡¡¡ÉèÖÃ
¡¡¡¡interval ²ÎÊýµÄÉ趨ֵÈçÏ£º
¡¡¡¡ÉèÖà ÃèÊö
¡¡¡¡yyyy Äê
¡¡¡¡q ¼¾
¡¡¡¡m ÔÂ
¡¡¡¡y Ò»ÄêµÄÈÕÊý
¡¡¡¡d ÈÕ
¡¡¡¡w Ò»ÖܵÄÈÕÊý
¡¡¡¡ww ÖÜ
¡¡¡¡hh ʱ
¡¡¡¡n ·ÖÖÓ
¡¡¡¡s Ãë
¡¡¡¡firstdayofweek ²ÎÊýµÄÉ趨ֵÈçÏ£º
¡¡¡¡³£Êý Öµ ÃèÊö
¡¡¡¡vbUseSystem 0 ʹÓà NLS API ÉèÖá£
¡¡¡¡vbSunday 1 ÐÇÆÚÈÕ£¨È±Ê¡Öµ£©
¡¡¡¡vbMonday 2 ÐÇÆÚÒ»
¡¡¡¡vbTuesday 3 ÐÇÆÚ¶þ
¡¡¡¡vbWednesday 4 ÐÇÆÚÈý
¡¡¡¡vbThursday 5 ÐÇÆÚËÄ
¡¡¡¡vbFriday 6 ÐÇÆÚÎå
¡¡¡¡vbSaturday 7 ÐÇÆÚÁù
¡¡¡¡³£Êý Öµ ÃèÊö
¡¡¡¡vbUseSystem 0 Óà NLS API ÉèÖá£
¡¡¡¡vbFirstJan1 1 ´Ó°üº¬ 1 Ô 1 ÈÕµÄÐÇÆÚ¿ªÊ¼£¨È±Ê¡Öµ£©¡£
¡¡¡¡vbFirstFourDays 2 ´ÓµÚÒ»¸öÆä´ó°ë¸öÐÇÆÚÔÚеÄÒ»ÄêµÄÒ»ÖÜ¿ªÊ¼¡£
¡¡¡¡vbFirstFullWeek 3 ´ÓµÚÒ»¸öÎÞ¿çÄê¶ÈµÄÐÇÆÚ¿ªÊ¼¡£
¡¡¡¡ËµÃ÷
¡¡¡¡DateDiff º¯Êý¿ÉÓÃÀ´¾ö¶¨Á½¸öÈÕÆÚÖ®¼äËùÖ¸¶¨µÄʱ¼ä¼ä¸ôÊýÄ¿¡£ÀýÈ磬¿ÉÒÔʹÓà DateDiff À´¼ÆËãÁ½¸öÈÕÆÚÖ®¼äÏà¸ô¼¸ÈÕ£¬»ò¼ÆËã´Ó½ñÌìÆðµ½Äêµ×»¹ÓжàÉÙ¸öÐÇÆÚ¡£
¡¡¡¡ÎªÁ˼ÆËã date1 Óë date2 Ïà²îµÄÈÕÊý£¬¿ÉÒÔʹÓÓһÄêµÄÈÕÊý”(y) »ò“ÈÕ”(d)¡£µ± interval ÊǓһÖܵÄÈÕÊý”(w) ʱ£¬DateDiff ·µ»ØÁ½ÈÕÆÚ¼äµÄÖÜÊý¡£Èç¹û date1 ÊÇÐÇÆÚÒ»£¬DateDiff ¼ÆËãµ½ date2 ΪֹµÄÐÇÆÚÒ»µÄ¸öÊý¡£Õâ¸öÊý°üº¬ date2 µ«²»°üº¬ date1¡£²»¹ý£¬Èç¹û interval ÊÇ“ÖÜ”(ww)£¬Ôò DateDiff º¯Êý·µ»ØÁ½ÈÕÆÚ¼äµÄ“ÈÕÀúÖÜ”Êý¡£ÓɼÆËã date1 Óë date2 Ö®¼äÐÇÆÚÈյĸöÊý¶øµÃ¡£Èç¹û date2 ¸ÕºÃÊÇÐÇÆÚÈÕ£¬Ôò date2 Ò²»á±»¼Ó½ø DateDiff µÄ¼ÆÊý½á¹ûÖУ»µ«²»ÂÛ date1 ÊÇ·ñΪÐÇÆÚÈÕ£¬¶¼²»½«ËüËã½øÈ¥¡£
¡¡¡¡Èç¹û date1
Ïà¹ØÎĵµ£º
--
¾ÛºÏº¯Êý
use
pubs
go
select
avg
(
distinct
price)
--
ËãÆ½¾ùÊý
from
titles
where
type
=
'
business
'
go
use
pubs
go
select
max
(ytd_sales)
--
×î´óÊý
from
titles
go
use
pubs
go
select
min
(ytd_sales)
--
×îСÊý
fr ......
RANK ( ) OVER ( [query_partition_clause] order_by_clause )
DENSE_RANK ( ) OVER ( [query_partition_clause] order_by_clause )
¿ÉʵÏÖ°´Ö¸¶¨µÄ×ֶηÖ×éÅÅÐò£¬¶ÔÓÚÏàͬ·Ö×é×ֶεĽá¹û¼¯½øÐÐÅÅÐò,
ÆäÖÐPARTITION BY Ϊ·Ö×é×ֶΣ¬ORDER BY Ö¸¶¨ÅÅÐò×Ö¶Î
over²»Äܵ¥¶ÀʹÓã¬ÒªºÍ·ÖÎöº¯Êý£ºrank(),dense_rank(),row_n ......
µ¼Èë
Èç¹û±íÒÑ´æÔÚ£¬SQLÓï¾äΪ£º
insert into aa select * from OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0',
'Data Source=D:\OutData.xls;Extended Properties=Excel 8.0')...[sheet1$]
ÆäÖУ¬aaÊDZíÃû£¬D:\OutData.xlsÊÇexcelµÄȫ·¾¶ sheet1ºó±ØÐë¼ÓÉÏ$
Èç¹û±í²»´æÔÚ£¬SQLÓï¾äΪ£º
SELECT * INTO aa from OPENDAT ......
ÓÐÁ½ÖÖ·½·¨¶¯Ì¬ÖرàÒë´æ´¢¹ý³Ì£º 1.ÔÚCreateʱ¼ÓÉÏRECOMPILEÑ¡Ïî CREATE PROCEDURE dbo.PersonAge (@MinAge INT, @MaxAge INT)
WITH RECOMPILE
AS
SELECT *
from dbo.tblTable 2.ÔÚÖ´ÐÐʱ¼ÓÉÏRECOMPILEÑ¡Ïî EXEC dbo.PersonAge 65,70 WITH RECOMPILE ²»ÍƼöʹÓõڶþÖÖ·½·¨£¬ÓÈÆäÔÚÉú²ú»·¾³ ......
ÎÒÃÇÒª×öµ½²»µ«»áдSQL£¬»¹Òª×öµ½Ð´³öÐÔÄÜÓÅÁ¼µÄSQLÓï¾ä¡£
£¨1£©Ñ¡Ôñ×îÓÐЧÂʵıíÃû˳Ðò(Ö»ÔÚ»ùÓÚ¹æÔòµÄÓÅ»¯Æ÷ÖÐÓÐЧ)£º
OracleµÄ½âÎöÆ÷°´ÕÕ´ÓÓÒµ½×óµÄ˳Ðò´¦Àífrom×Ó¾äÖеıíÃû£¬from×Ó¾äÖÐдÔÚ×îºóµÄ±í(»ù´¡±í driving
table)½«±»×îÏÈ´¦Àí£¬ÔÚfrom×Ó¾äÖаüº¬¶à¸ö±íµÄÇé¿öÏÂ,Äã±ØÐëÑ¡Ôñ¼Ç¼ÌõÊý×îÉٵıí×÷Ϊ»ù´¡±í¡£È ......