¡¾×ªÌù¡¿½ÒÃÜSQL Server DATETIMEÊý¾ÝÀàÐÍ
ÔÎijö´¦£ºhttp://blog.csdn.net/zk911/archive/2005/11/23/535432.aspx
×÷Õߣºzk911
¿´ÍêÕâÆªÎÄÕµĵÚÒ»¸Ð¾õÊÇ£¬ËäÈ»¶ÔÓÚÈÕÆÚÀàÐÍÊý¾ÝʹÓõúÜËã˳Àû£¬²»¹ý×÷Õß Ìáµ½µÄһЩ¶«Î÷»¹Õæ²»ÖªµÀ¡£ÓÐʱºòÔÚÓ¦ÓÃÉÏ£¬²»¾õµÃ±ÈÀÏÍâ²îµ½ÄÇÀïÈ¥¡£µ«ÊÇ£¬ ÀÏÍâµÄÒ»¸öÓÅÁ¼Ï°¹ßϸ¿Û¸ÅÄî²¢½øÐÐʵ֤¼ìÑ飻¶øÎÒÃǵÄϰ¹ßÊǸÅÄîÊǸÅÄӦÓà ÊÇÓ¦Óᣵ½×îºó»á·¢ÏÖÆäʵÓÐЩºÜ»ù´¡µÄ¶«Î÷£¬ÊDz»ÖªÆäËùÒÔÈ»µÄ¡£
ÔÎÄ£ºDemystifying the SQL Server DATETIME Datatype
À´Ô´£ºSQL-Server-Performance.com
×÷ÕߣºFrank Kalis
When you follow online communities dedicated to SQL Server with open eyes, you certainly notice......
ÄãºÍ·¢ÏÖÍøÉϺܶàSQL ServerµÄÎÊÌâÊǹØÓÚDATETIMEÊý¾ÝÀàÐ͵ģ¬ÕâËÆºõ˵Ã÷ÊìÁ·Ê¹ÓÃDATETIME²¢²»ÈÝÒס£
Ææ¹ÖµÄÊÇ£¬ÎÒÈ´Ò»Ö±ÏàÐÅʹÓÃDATETIMEÊDz»ÄѵÄÊ¡£DATETIME²¢·Ç¸´ÔÓµÄÊý¾ÝÀàÐÍ£¬Ò²Ã»ÓÐÉî°ÂµÄÈÕÆÚËã·¨¡£Î¨Ò»ÐèÒª Àí½âµÄÊÇΪÁ˰²È«µÄ´¦ÀíÁÙʱÊý¾Ý£¬DATETIMEÊý¾ÝÀàÐ͵ÄһЩ»ù±¾¸ÅÄî¡£±¾ÎĵÄÄ¿µÄ¾ÍÊǰïÖú¶ÁÕßÀí½âÕâЩSQL ServerÓÐȤ µÄµØ·½£¬ÒÔ¼°ÅªÇå³þDATETIMEÊý¾ÝÀàÐ͵ÄÒ»Ð©ÕæÏà¡£
±¾ÎÄÎÒ¶¼»áʹÓÃISOÈÕÆÚ¸ñʽ yyyymmdd¡£ÕâÊÇÒ»ÖÖ°²È«µÄÈÕÆÚ¸ñʽ£¬¼´ÎÞÂÛÄãµÄµçÄÔÈçºÎÉèÖ㬸øñʽ¶¼¿ÉÒÔÔËÐÐÕý³££¬¶øÇÒ ËüÒ²²»ÊÜSET DATEFORMAT»òÕßSET LANGUAGEÉèÖõÄÓ°Ïì¡£¼´Ê¹Äã²»¿ª·¢¹ú¼ÊÓû§µÄÊý¾Ý¿âÓ¦Óã¬Ò²×îºÃÑø³ÉʹÓð²È«µÄ ÈÕÆÚ¸ñʽµÄϰ¹ß¡£SQL ServerÖ»ÓÐÁ½ÖÖÈÕÆÚÀàÐ͸ñʽ±àºÅÊǰ²È«µÄ£¬112ºÍ116¡£112ÊÇISO¸ñʽ£¬116ÊÇISO8601¸ñʽ¡£ ÔÚSQL ServerÁª»ú°ïÖúµÄCASTºÍCONVERTÖ÷ÌâÖпÉÒÔÕÒµ½¹ØÓÚÕâÁ½ÖÖÈÕÆÚ±àºÅµÄ½éÉÜ¡£ÄãÔ½ÔçÑø³ÉÕâЩϰ¹ß£¬ºÜ¶àDZÔÚµÄ ÎÊÌâ¾ÍÔ½ÉÙ¡£
Ä㽫עÒâµ½£¬ÎÒÌØÒâʹÓÃÁËÒþʾµØ½«CHARת»»³ÉDATETIME¡£Òþʾת»»ÓÐʱºò²»ÊÇÒ»ÖÖÁ¼ºÃµÄ¿ª·¢Ï°¹ß£¬²»¹ý¸ù¾Ý SQL ServerÊý¾ÝÀàÐÍÖУ¬DATETIMEת»»µÄÓÅÏȼ¶¸ß£¬ÎÒÈÏΪת»»Êǰ²È«µÄ¡£¹ØÓÚÕâµã±¾ÎľͲ»¶à²ûÊöÁË¡£
±¾ÎÄÏÈÀ´Ñо¿Ò»ÏÂDATETIMEÊý¾ÝÀàÐ͵ÄÄÚ²¿±íÏÖÐÎʽ£¬È»ºó½«×¢ÒâÁ¦×ªÒƵ½DATETIMEÏà¹ØµÄ²éѯÉÏ£¬×îºó×ܽáһЩ ×¢ÒâÊÂÏС¼¼Çɺͳ£¼ûÎÊÌâµÄ½â¾ö·½·¨¡£
ËùÓеĴúÂëʾÀý¶¼ÊÊÓÃÓÚSQL Server 2000£¬ÎÒÏàÐŶÔÓÚÒÔǰµÄSQL Server°æ±¾Ò²Ó¦¸ÃÊÊÓ᣶ÔÓÚ2000ÒÔºóµÄ°æ±¾£¬ÎÒ½« ¼ì²é±¾ÎIJ¢¶Ô²»ÊÊÓõĵط½×÷ÏàÓ¦µÄ¸Ä¶¯¡£
ºÃÁË£¬ÈÃÎÒÃÇ¿ªÊ¼°É£¡
DATETIMEÀàÐ͵ÄÊý¾ÝµÄ¿É¶ÁÐÔ
SELECT CAST(GETDATE() AS BINARY(8)) AS WhatIsReallyStored
WhatIsReallyStored
---------
Ïà¹ØÎĵµ£º
ÎÒÃÇÒª×öµ½²»µ«»áдSQL,»¹Òª×öµ½Ð´³öÐÔÄÜÓÅÁ¼µÄSQL,ÒÔÏÂΪ±ÊÕßѧϰ¡¢ÕªÂ¼¡¢²¢»ã×ܲ¿·Ö×ÊÁÏÓë´ó¼Ò·ÖÏí£¡
£¨1£© Ñ¡Ôñ×îÓÐЧÂʵıíÃû˳Ðò(Ö»ÔÚ»ùÓÚ¹æÔòµÄÓÅ»¯Æ÷ÖÐÓÐЧ)£º
ORACLE µÄ½âÎöÆ÷°´ÕÕ´ÓÓÒµ½×óµÄ˳Ðò´¦Àífrom×Ó¾äÖеıíÃû£¬from×Ó¾äÖÐдÔÚ×îºóµÄ±í(»ù´¡±í driving table)½«±»×îÏÈ´¦Àí£¬ÔÚfrom× ......
GROUP BY×Ó¾ä
Ö¸¶¨²éѯ½á¹ûµÄ·Ö×éÌõ¼þ
Óï·¨£ºGROUP BY [ALL] group_by_expression_r_r [,n]
[WITH{CUBE|ROLLUP}]
group_by_expression_r_rÖ¸Ã÷·Ö×éÌõ¼þ£¬Í¨³£ÊÇÒ»¸öÁÐÃû£¬µ«²»ÄÜÊÇÁеıðÃû¡£
ALL·µ»ØËùÓвéѯ½á¹ûµÄ×éºÏ¡£Èç¹ûûÓÐÂú×ãwhere×Ó¾äµÄÊý¾ÝÔòÓÉNULLÖµ¹¹³ÉÊý¾Ý¡£ALLµÄÑ¡Ïî²»Ä ......
UNION½«Á½¸ö»òÁ½¸öÒÔÉϵIJéѯ½á¹ûºÏ²¢ÎªÒ»¸ö½á¹û¼¯£¬ËüÓëʹÓÃÁ¬½Ó²éѯºÏ²¢Á½¸ö±íµÄÁÐÊDz»Í¬µÄ£¬Ê¹
ÓÃUNIONºÏ²¢²éѯ±ØÐë×ñÊØ£º1ÁеÄÊýÄ¿ºÍ˳Ðò±ØÐëÒ»Ö£»2Êý¾ÝµÄÀàÐͱØÐë¼æÈÝ¡£
select Óï¾ä
UNION [all]
select Óï¾ä
¿ÉÒÔ¿´µ½£¬Ö»Òª¶ÔÓ¦×ֶεÄÀàÐÍÏàͬ¾Í¿ÉÒÔÍê³ÉºÏ²¢²Ù×÷£¬µ«ÊÇΪÁËÓÐÒâÒ壬Á½¸ö²éѯµÄ½á¹ûÓ¦¸ÃΪÏàͬ
µ ......
CONVERT
½«Ä³ÖÖÊý¾ÝÀàÐ͵ıí´ïʽÏÔʽת»»ÎªÁíÒ»ÖÖÊý¾ÝÀàÐÍ¡£ÓÉÓÚijЩÐèÇó¾³£Óõ½È¡ÈÕÆÚ¸ñʽµÄ²»Í¬.ÏÖÒÔÏ¿ÉÔÚ
SQL ServerÖС¡½«ÈÕÆÚ¸ñʽ»¯.
SQL Server Ö§³ÖʹÓÿÆÍþÌØËã·¨µÄ°¢À²®ÑùʽÖеÄÊý¾Ý¸ñʽ¡£
ÔÚ±íÖУ¬×ó²àµÄÁ½Áбíʾ½« datetime »ò smalldatetime ת»»Îª×Ö·ûÊý¾ÝµÄ style Öµ¡£¸ø style Öµ¼Ó 100£¬¿É»ñµÃ°üÀ¨Ê ......
sqlÖеÄindexof£¬º¯Êý½éÉÜ
È¡³öÎļþÃûÖеĺó׺Ãû£¬ÀýÈ磺1.exe±ä³Éexe
declare @fileName varchar(100)
set @fileName='aaa.exe'
select substring(@fileName,charindex('.',@fileName)+1,len(@fileName))
------------------------------------------------
--×Ô¶¨Ò庯Êý£ºÈ¡ÎļþÃûµÄÎļþÀàÐÍ£¬ÀýÈç1.exeµÄexe
--- ......