±¾ÖÜ
select * from tb where datediff(week , ʱ¼ä×Ö¶Î ,getdate()) = 0
ÉÏÖÜ
select * from tb where datediff(week , ʱ¼ä×Ö¶Î ,getdate()) = 1
ÏÂÖÜ
select * from tb where datediff(week , ʱ¼ä×Ö¶Î ,getdate()) = -1
----------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
--ÉÏÔÂ
Select * from TableName Where DateDiff(mm, DateTimCol, GetDate()) = 1
--±¾ÔÂ
Select * from TableName Where DateDiff(mm, DateTimCol, GetDate()) = 0
--ÏÂÔÂ
Select * from TableName Where DateDiff(mm, GetDate(), DateTimCol ) = 1
×òÌ죺dateadd(day,-1,getdate())
Ã÷Ì죺dateadd(day,1,getdate())
ÉÏÔ£ºmonth(dateadd(month, -1, getdate()))
±¾Ô£ºmonth(getdate())
ÏÂÔ£ºmonth(dateadd(month, 1, getdate()))
---------------------------------------------------------------------------------
--×òÌì¡¡
Select * from TableName Where DateDiff(dd, DateTimCol, GetDate()) = 1
--Ã÷Ìì
Select * ......
OUTPUT×Ó¾äÊÇSQL Server 2005 ÖжÔINSERT¡¢UPDATEºÍDELETEÐÂÔöµÄ£¬½ñÌì¿´¼ûÔ°×ÓÀïÓÐÈËÌáÆð(SQL2005Öзµ»ØÐ޸ĺóµÄÊý¾Ý)£¬¾ÍÔÚÕâÀï¼Ç¼һÏÂËüµÄÓï·¨¡£
OUTPUT { DELETED | INSERTED | from_table_name }. {* | column_name } [,...n]
INTO { @table_variable | output_table }
²ÎÊý˵Ã÷£º
DELETED , INSERTED ºÍ´¥·¢Æ÷ÀïµÄÒ»Ñù£¬ÊÇϵͳµÄÐéÄâ±í,ËûÃDZ£´æÁËÒÔ¸üеÄÔʼºÍÐÞ¸ÄÖ®ºóµÄÖµ¡£
ÏÂÃæÊÇÒ»¸öÍêÕûµÄÀý×Ó£º
´´½¨±í£º
CREATE TABLE product(
productId INT IDENTITY PRIMARY KEY,
Name NVARCHAR(50)
)
²åÈëÊý¾Ý£º
INSERT INTO product([Name])VALUES('MP3');
²âÊÔOUTPUT:
DECLARE @ProductChanges TABLE (
DeletedName NVARCHAR(50),
InsertedName NVARCHAR(50)
)
UPDATE product
SET Name='myname'
OUTPUT DELETED.Name,INSERTED.Name
INTO @Pro ......
PowerDesignerÓëSQL ServerÏàÁ¬
ÒÔǰÌý˵¹ýPowerDesigner¿ÉÒÔºÍÊý¾Ý¿âÁ¬½Ó£¬¸ù¾ÝÔÚPowerDesigner´´½¨µÄÊý¾ÝÄ£ÐÍ´´½¨±í¡¢´¥·¢Æ÷¡¢´æ´¢¹ý³Ìµ½Êý¾Ý¿âÖС£Ò²¿ÉÒÔ½«ÒÑÓеÄÊý¾Ý¿âµ¼³öµ½PowerDesignerÖÐΪÊý¾ÝÄ£ÐÍ¡£½ñÌì×öÁËһϲâÊÔ£¬·¢ÏÖȷʵºÜ¼òµ¥£¬ÏÖÔÚ²Ù×÷²½ÖèÓë´ó¼Ò·ÖÏí£º
0¡¢×¼±¸¹¤×÷
ÏÈÔÚSQL ServerÖд´½¨Ò»Êý¾Ý¿â£¬ÒÔ¹©²âÊÔÓá£
Create database test
1¡¢ ¸ù¾ÝÔÚPowerDesigner´´½¨µÄÊý¾ÝÄ£ÐÍ´´½¨±í¡¢´¥·¢Æ÷¡¢´æ´¢¹ý³Ìµ½Êý¾Ý¿âÖÐ
1£©´ò¿ªPowerDesigner £¬½¨Á¢Ò»¸öÎïÀíÊý¾ÝÄ£ÐÍ
2)ÔÚµ¯³öµÄ¶Ô»°¿òÖб£³ÖĬÈÏÉèÖÃ
3)½«Ð½¨µÄphysical data model ÖØÃüÃûΪtest
4)ÔÚÆäÖн¨Á½¸ö±í,´´½¨Á½¸ö±íµÄ¹ØÁª¹ØÏµ.
5)µ¥»÷"Database"->"Configure Connections"
6)ÔÚµ¯³öµÄODBCÊý¾ÝÔ´¹ÜÀíÆ÷ÖÐ,µã»÷"Ìí¼Ó",Ìí¼ÓÒ»¸öÊý¾ÝÔ´
´ÓÉÏͼ¿ÉÒÔ¿´³ö,ÒѾ³É¹¦Ìí¼ÓÁËÒ»¸öÃûΪtestµÄsql serverÊý¾ÝÔ´.
7)µã»÷"Database"->"Connect..",Á¬½Óµ½¸Õ²ÅÌí¼ÓµÄÊý¾ÝÔ´.
8)µã»÷"Database"->"Generate Database",½«±í´´½¨µ½Êý¾Ý¿â
ÔÚÉÏÃæµÄ¶Ô»°¿òÖÐ,¿ÉÒÔÑ¡ÔñÉú³É½Å±¾µÄĿ¼ºÍÎļþÃû,ÏÂÃæ»¹ÓкܶàÑ¡Ïî,ÎÒ±£³ÖÁËĬÈÏÑ¡Ïî.×¢ÒâÑ¡ÖÐ"Script generation",Ö»Éú³É½Å±¾,Ñ¡ÖÐ"ODBC generation"»áÌ ......
set @sql = 'select * from OPENROWSET(''SQLOLEDB'',''SERVER='+@serverip+';uid=sa;pwd=sa;Database='+@databaseName+''',''SET FMTONLY OFF;set nocount on exec procName '''''+@yqid+''''''' ) as a '
exec(@sql)
Áô¸öÓ¡×Ó,·½±ã×Ô¼º. ......
“Where” ÊÇÒ»¸öÔ¼ÊøÉùÃ÷£¬Ê¹ÓÃWhereÀ´Ô¼ÊøÀ´Ö®Êý¾Ý¿âµÄÊý¾Ý£¬WhereÊÇÔÚ½á¹û·µ»ØÖ®Ç°Æð×÷Óõģ¬ÇÒWhereÖв»ÄÜʹÓþۺϺ¯Êý¡£
“Having”ÊÇÒ»¸ö¹ýÂËÉùÃ÷£¬ÊÇÔÚ²éѯ·µ»Ø½á¹û¼¯ÒÔºó¶Ô²éѯ½á¹û½øÐеĹýÂ˲Ù×÷£¬ÔÚHavingÖпÉÒÔʹÓþۺϺ¯Êý¡£
ÔÚËµÇø±ð֮ǰ£¬µÃÏȽéÉÜGROUP BYÕâ¸ö×Ӿ䣬¶øÔÚ˵GROUP×Ó¾äǰ£¬ÓÖµÃÏÈ˵˵“¾ÛºÏº¯Êý”——SQLÓïÑÔÖÐÒ»ÖÖÌØÊâµÄº¯Êý¡£ÀýÈçSUM, COUNT, MAX, AVGµÈ¡£ÕâЩº¯ÊýºÍÆäËüº¯ÊýµÄ¸ù±¾Çø±ð¾ÍÊÇËüÃÇÒ»°ã×÷ÓÃÔÚ¶àÌõ¼Ç¼ÉÏ¡£
È磺
SELECT SUM(population) from vv_t_bbc ;
¡¡¡¡ÕâÀïµÄSUM×÷ÓÃÔÚËùÓзµ»Ø¼Ç¼µÄpopulation×Ö¶ÎÉÏ£¬½á¹û¾ÍÊǸòéѯֻ·µ»ØÒ»¸ö½á¹û£¬¼´ËùÓйú¼ÒµÄ×ÜÈË¿ÚÊý¡£
¡¡ ¡¡¶øÍ¨¹ýʹÓÃGROUP BY ×Ӿ䣬¿ÉÒÔÈÃSUM ºÍ COUNT ÕâЩº¯Êý¶ÔÊôÓÚÒ»×éµÄÊý¾ÝÆð×÷Óᣵ±ÄãÖ¸¶¨ GROUP BY region ʱ£¬Ö»ÓÐÊôÓÚͬһ¸öregion£¨µØÇø£©µÄÒ»×éÊý¾Ý²Å½«·µ»ØÒ»ÐÐÖµ£¬Ò²¾ÍÊÇ˵£¬±íÖÐËùÓгýregion£¨µØÇø£©ÍâµÄ×ֶΣ¬Ö»ÄÜͨ¹ý SUM, COUNTµÈ¾ÛºÏº¯ÊýÔËËãºó·µ»ØÒ»¸öÖµ¡£
ÏÂÃæÔÙ˵˵“HAVING”ºÍ“WHERE”£º
¡¡¡¡HAVING×Ó¾ä¿ÉÒÔÈÃÎÒÃÇɸѡ³É×éºóµÄ¸÷×éÊý ......
11.3µ÷ÓųÌÐò/¼õÇá¸ºÔØ
Èç¹ûÆÚÍû¼õÇáÊý¾Ý¿â·þÎñÆ÷ÕûÌåµÄCPU»òÕßI/O¸ºÔØ£¬¿Éͨ¹ýÒÔϲ½ÖèÈ·¶¨×ÊÔ´Ãܼ¯Ð͵ÄSQLÓï¾ä£º
1.Ñ¡ÔñÔÚÓ¦ÓóÌÐòµÄ´¦Àí¸ß·åÆÚ¼ì²â¡£
2.ÔÚÒÔÉÏÖÜÆÚÄÚ£¬ÊÕ¼¯²Ù×÷ϵͳ¼°Oracleͳ¼ÆÐÅÏ¢¡£ÐèÒªÊÕ¼¯µÄOracleͳ¼ÆÐÅÏ¢ÖÁÉÙ°üÀ¨ÎļþµÄI/O£¨Í¨¹ýÊÓͼV$FILESTAT£©£¬ÏµÍ³Í³¼ÆÐÅÏ¢£¨V$SYSSTAT£©£¬ÒÔ¼°SQLͳ¼ÆÐÅÏ¢£¨V$SQLAREA
, V$SQL
or V$SQLSTATS
,
V$SQLTEXT
, V$SQL_PLAN
, and V$SQL_PLAN_STATISTICS
£©¡£
3.ͨ¹ýµÚ¶þ²½ÊÕ¼¯µÄͳ¼ÆÐÅÏ¢À´È·¶¨Ê¹ÓÃ×î¶à×ÊÔ´µÄSQLÓï¾ä£¬¿ÉÒÔͨ¹ý¶ÔV$SQLÖеÄÊý¾ÝÅÅÐòÀ´¶Ï¶¨×ÊÔ´µÄʹÓÃÇé¿ö¡£Ò»°ã¹Ø×¢µÄ×ÊÔ´ÊÇ£º
Buffer gets (V$SQL
.BUFFER_GETS
, ½ÏºÄCPUµÄÓï¾ä)
Disk reads (V$SQL
.DISK_READS
, ½ÏºÄI/OµÄÓï¾ä)
Sorts (V$SQL
.SORTS
, ´óÁ¿ÅÅÐò)
½Ï×¢ÖØCPUµÄÓÅ»¯£¬¿ÉÒÔÊ×ÏÈ´Óbuffer getsÖµ½Ï¸ßµÄÓï¾äÈëÊÖ£¬·ñÔò£¬¶ÔÓÚI/OÀ´Ëµ£¬´ÓDISK_READS½Ï¸ßµÄSQLÓï¾ä¿ªÊ¼¡£
11.5.1ÑéÖ¤ÓÅ»¯Æ÷ͳ¼ÆÐÅÏ¢
²éѯÓÅ»¯Æ÷ʹÓÃ´Ó±í¡¢Ë÷ÒýÊÕ¼¯µÄͳ¼ÆÐÅÏ¢À´¾ö¶¨×îÓŵÄÖ´Ðмƻ®¡£Èç¹ûͳ¼ÆÐÅϢδÊÕ¼¯»òÕß´æ´¢ÔÚÊý¾Ý¿âÖÐÊý¾Ý¿âµÄͳ¼ÆÐÅÏ¢ÒѲ»¾ß´ú±íÐÔ£¬ÔòÓÅ»¯Ã»ÓÐ×ã¹»µÄͳ¼ÆÐÅÏ¢À´Éú³É×îÓŵÄÖ´Ðмƻ®¡£
1.×îºÃΪËùÓбíÊÕ¼¯Í³¼ÆÐÅÏ¢£¬ÌØ ......