Êý¾ÝÀàÐͰüÀ¨ Datetime ºÍ SmalldatetimeÁ½ÖÖÀàÐÍ
¡¡¡¡ÈÕÆÚºÍʱ¼äÊý¾ÝÀàÐÍÓÉÓÐЧµÄÈÕÆÚºÍʱ¼ä×é³É¡£ÀýÈ磬ÓÐЧµÄÈÕÆÚºÍʱ¼äÊý¾Ý°üÀ¨¡°4/01/98 12:15:00:00:00 PM¡±ºÍ¡°1:28:29:15:01AM 8/17/98¡±¡£Ç°Ò»¸öÊý¾ÝÀàÐÍÊÇÈÕÆÚÔÚǰ£¬Ê±¼äÔÚºóÒ»¸öÊý¾ÝÀàÐÍÊÇö®Ê±¼äÔÚǰ£¬ÈÕÆÚÔÚºó¡£ÔÚ Microsoft SQL ServerÖУ¬ÈÕÆÚºÍʱ¼äÊý¾ÝÀàÐͰüÀ¨Datetime ºÍ Smalldatetime Á½ÖÖÀàÐÍʱ£¬Ëù´æ´¢µÄÈÕÆÚ·¶Î§ÊÇ´Ó 1753 Äê 1 Ô 1 ÈÕ¿ªÊ¼£¬µ½9999 Äê12 Ô 31 ÈÕ½áÊø(ÿһ¸öÖµÒªÇó 8 ¸ö´æ´¢×Ö½Ú)¡£Ê¹Óà Smalldatetime Êý¾ÝÀàÐÍʱ£¬Ëù´æ´¢µÄÈÕÆÚ·¶Î§ÊÇ 1900Äê 1 Ô 1ÈÕ ¿ªÊ¼£¬µ½ 2079 Äê 12 Ô 31 ÈÕ½áÊø(ÿһ¸öÖµÒªÇó 4 ¸ö´æ´¢×Ö½Ú)¡£
¡¡¡¡ÈÕÆÚµÄ¸ñʽ¿ÉÒÔÉ趨¡£ÉèÖÃÈÕÆÚ¸ñʽµÄÃüÁîÈçÏ£º
¡¡¡¡Set DateFormat {format | @format _var|
¡¡¡¡ÆäÖУ¬format | @format_var ÊÇÈÕÆÚµÄ˳Ðò¡£ÓÐЧµÄ²ÎÊý°üÀ¨ MDY¡¢DMY¡¢YMD¡¢YDM¡¢MYD ºÍ DYM¡£ÔÚĬÈÏÇé¿öÏ£¬ÈÕÆÚ¸ñʽΪMDY¡£
¡¡¡¡ÀýÈ磬µ±Ö´ÐÐ Set DateFormat YMD Ö®ºó£¬ÈÕÆÚµÄ¸ñʽΪÄê Ô ÈÕ ÐÎʽ£»µ±Ö´ÐÐ Set DateFormat DMY Ö®ºó£¬ÈÕÆÚµÄ¸ñʽΪÈÕ ÔÂÓÐÄê ÐÎʽ
£¨5£©Êý×ÖÊý¾ÝÀàÐÍ
¡¡¡¡Êý×ÖÊý¾ÝÖ»°üº¬Êý×Ö¡£Êý×ÖÊý¾ÝÀàÐͰüÀ¨ÕýÊýºÍ¸ºÊý¡¢Ð¡Êý£¨¸¡µãÊý£©ºÍÕûÊý
¡¡¡¡ÕûÊýÓÉÕýÕûÊýºÍ¸ºÕûÊý×é³É£¬ÀýÈç 39¡¢25¡¢0-2 ºÍ 33967¡£ÔÚ Micrsoft SQL Server ÖУ¬ÕûÊý´æ´¢µÄÊý¾ÝÀàÐÍÊÇ ¡¡¡¡ Int£¬SmallintºÍ Tinyint¡£Int Êý¾ÝÀàÐÍ´æ´¢Êý¾ÝµÄ·¶Î§´óÓÚ Smallint Êý¾ÝÀàÐÍ´æ´¢Êý¾ÝµÄ·¶Î§£¬¶ø Smallint ¾ÝÀàÐÍ´æ´¢Êý¾ÝµÄ·¶Î§´óÓÚTinyint Êý¾ÝÀàÐÍ´æ´¢Êý¾ÝµÄ·¶Î§¡£Ê¹Óà Int Êý¾Ý¹·Îô´æ´¢Êý¾ÝµÄ·¶Î§ÊÇ´Ó -2 147 483 648 µ½ 2 147 483 647£¨Ã¿Ò»¸öÖµÒªÇó4¸ö×Ö½Ú´æ´¢¿Õ¼ä£©¡£Ê¹Óà Smallint Êý¾ÝÀàÐÍʱ£¬´æ´¢Êý¾ÝµÄ·¶Î§´Ó -32 768 µ½ 32 767£¨Ã¿Ò»¸öÖµÒªÇó2¸ö×Ö½Ú´æ´¢¿Õ¼ä£©¡£Ê¹ÓÃTinyint Êý¾ÝÀàÐÍʱ£¬´æ´¢Êý¾ÝµÄ·¶Î§ÊÇ´Ó0 µ½255£¨Ã¿Ò»¸öÖµÒªÇó1¸ö×Ö½Ú´æ´¢¿Õ¼ä£©¡£
¡¡¡¡¾«È·Ð¡Â¦Êý¾ÝÔÚ SQL Server ÖеÄÊý¾ÝÀàÐÍÊÇ Decimal ºÍ Numeric¡£ÕâÖÖÊý¾ÝËùÕ¼µÄ´æ´¢¿Õ¼ä¸ù¾Ý¸ÃÊý¾ÝµÄλÊýºóµÄλÊýÀ´È·¶¨¡£
¡¡¡¡ÔÚSQL Server ÖУ¬½üËÆÐ¡ÊýÊý¾ÝµÄÊý¾ÝÀàÐÍÊÇ Float ºÍ Real¡£ÀýÈ磬Èý·ÖÖ®Ò»Õâ¸ö·ÖÊý¼Ç×÷¡£3333333£¬µ±Ê¹ÓýüËÆÊý¾ÝÀàÐÍʱÄÜ׼ȷ±íʾ¡£Òò´Ë£¬´Ó
ϵͳÖмìË÷µ½µÄÊý¾Ý¿ÉÄÜÓë´æ´¢ÔÚ¸ÃÁÐÖÐÊý¾Ý²»ÍêȫһÑù¡£
£¨6£©»õ±ÒÊý¾Ý±íʾÕýµÄ»òÕ߸ºµÄ»õ±ÒÊýÁ¿ ¡£
¡¡¡¡ÔÚ Microsoft SQL Server ÖУ¬»õ±ÒÊý¾ÝµÄÊý¾ÝÀàÐÍÊÇMoney ºÍ Smallmoney
¡¡¡¡MoneyÊý¾ÝÀàÐÍÒªÇó 8 ¸ö´æ´¢×Ö½Ú£¬Smallmoney Êý¾ÝÀàÐÍÒªÇó 4 ¸ö´æ´¢×Ö½Ú¡£
£¨7£©ÌØÊâÊý¾ÝÀàÐÍ
¡¡¡¡ÌØÊâÊý¾ÝÀàÐͰüÀ¨Ç°ÃæÃ»ÓÐÌá¹ýµÄÊý¾ÝÀàÐÍ¡£ÌØÊâµÄÊý¾ÝÀàÐÍÓÐ3ÖÖ£¬¼´ ¡¡¡¡ Timestamp¡¢Bit ºÍ Uniqueidentifier¡£
¡¡¡¡Timestamp ÓÃÓÚ±íʾSQL Server »î¶¯µÄÏȺó˳Ðò£¬ÒÔ¶þ½øÍ¶Ó°µÄ¸ñʽ±íʾ¡£Timestamp Êý¾ÝÓë²åÈëÊý¾Ý»òÕßÈÕÆÚºÍʱ¼äûÓйØÏµ¡£
¡¡¡¡Bit ÓÉ 1 »òÕß 0 ×é³É¡£µ±±íÊ¾Õæ»òÕß¼Ù¡¢ON »òÕß OFF ʱ£¬Ê¹Óà Bit Êý¾ÝÀàÐÍ¡£ÀýÈ磬ѯÎÊÊÇ·ñÊÇÿһ´Î·ÃÎʵĿͻ§»úÇëÇó¿ÉÒÔ´æ´¢ÔÚÕâÖÖÊý¾ÝÀàÐ͵ÄÁÐÖС£
¡¡¡¡Uniqueidentifier ÓÉ 16 ×Ö½ÚµÄÊ®Áù½øÖÆÊý×Ö×é³É£¬±íʾһ¸öÈ«¾ÖΨһµÄ¡£µ±±íµÄ¼Ç¼ÐÐÒªÇóΨһʱ£¬GUIDÊǷdz£ÓÐÓá£ÀýÈ磬ÔÚ¿Í»§±êʶºÅÁÐʹÓÃÕâÖÖÊý¾ÝÀàÐÍ¿ÉÒÔÇø±ð²»Í¬µÄ¿Í»§¡£
2.Óû§¶¨ÒåµÄÊý¾ÝÀàÐÍ
¡¡¡¡Óû§¶¨ÒåµÄÊý¾ÝÀàÐÍ»ùÓÚÔÚ Microsoft SQL Server ÖÐÌṩµÄÊý¾ÝÀàÐÍ¡£µ±¼¸¸ö±íÖбØÐë´æ´¢Í¬Ò»ÖÖÊý¾ÝÀàÐÍʱ£¬²¢ÇÒΪ±£Ö¤ÕâЩÁÐÓÐÏàͬµÄÊý¾ÝÀàÐÍ¡¢³¤¶ÈºÍ¿É¿ÕÐÔʱ£¬¿ÉÒÔʹÓÃÓû§¶¨ÒåµÄÊý¾ÝÀàÐÍ¡£ÀýÈ磬¿É¶¨ÒåÒ»ÖÖ³ÆÎª ¡¡¡¡postal_code µÄÊý¾ÝÀàÐÍ£¬Ëü»ùÓÚ Char Êý¾ÝÀàÐÍ¡£
¡¡¡¡µ±´´½¨Óû§¶¨ÒåµÄÊý¾ÝÀàÐÍʱ£¬±ØÐëÌṩÈý¸öÊý£ºÊý¾ÝÀàÐ͵ÄÃû³Æ¡¢Ëù»ùÓÚµÄϵͳÊý¾ÝÀàÐͺÍÊý¾ÝÀàÐ͵ĿɿÕÐÔ¡£
£¨1£©´´½¨Óû§¶¨ÒåµÄÊý¾ÝÀàÐÍ
¡¡¡¡´´½¨Óû§¶¨ÒåµÄÊý¾ÝÀàÐÍ¿ÉÒÔʹÓà Transact-SQL Óï¾ä¡£ÏµÍ³´æ´¢¹ý³Ì sp_addtype ¿ÉÒÔÀ´´´½¨Óû§¶¨ÒåµÄÊý¾ÝÀàÐÍ¡£ÆäÓï·¨ÐÎʽÈçÏ£º
¡¡¡¡sp_addtype {type},[,system_data_bype][,'null_type']
¡¡¡¡ÆäÖУ¬type ÊÇÓû§¶¨ÒåµÄÊý¾ÝÀàÐ͵ÄÃû³Æ¡£system_data_type ÊÇϵͳÌṩµÄÊý¾ÝÀàÐÍ£¬ÀýÈç Decimal¡¢Int¡¢Char ¡¡¡¡µÈµÈ¡£ null_type ±íʾ¸ÃÊý¾ÝÀàÐÍÊÇÈçºÎ´¦Àí¿ÕÖµµÄ£¬±ØÐëʹÓõ¥ÒýºÅÒýÆðÀ´£¬ÀýÈç'NULL'¡¢'NOT NULL'»òÕß'NONULL'¡£
¡¡¡¡Àý×Ó£º
¡¡¡¡Use cust
¡¡¡¡Exec sp_addtype ssn,'Varchar(11)',"Not Null'
¡¡¡¡´´½¨Ò»¸öÓû§¶¨ÒåµÄÊý¾ÝÀàÐÍ ssn£¬Æä»ùÓÚµÄϵͳÊý¾ÝÀàÐÍÊDZ䳤Ϊ11 µÄ×Ö·û£¬²»ÔÊÐí¿Õ¡£
¡¡¡¡Àý×Ó£º
¡¡¡¡Use cust
¡¡¡¡Exec sp_addtype birthday,datetime,'Null'
¡¡¡¡´´½¨Ò»¸öÓû§¶¨ÒåµÄÊý¾ÝÀàÐÍ birthday£¬Æä»ùÓÚµÄϵͳÊý¾ÝÀàÐÍÊÇ DateTime£¬ÔÊÐí¿Õ¡£
¡¡¡¡Àý×Ó£º
¡¡¡¡Use master
¡¡¡¡Exec sp_addtype telephone,'varchar(24),'Not Null'
¡¡¡¡Eexc sp_addtype fax,'varchar(24)','Null'
¡¡¡¡´´½¨Á½¸öÊý¾ÝÀàÐÍ£¬¼´ telephone ºÍ fax
£¨2£©É¾³ýÓû§¶¨ÒåµÄÊý¾ÝÀàÐÍ
¡¡¡¡µ±Óû§¶¨ÒåµÄÊý¾ÝÀàÐͲ»ÐèҪʱ£¬¿Éɾ³ý¡£É¾³ýÓû§¶¨ÒåµÄÊý¾ÝÀàÐ͵ÄÃüÁîÊÇ sp_droptype {'type'}¡£
¡¡¡¡Àý×Ó£º
¡¡¡¡Use master
¡¡¡¡Exec sp_droptype 'ssn'
¡¡¡¡×¢Ò⣺µ±±íÖеÄÁл¹ÕýÔÚʹÓÃÓû§¶¨ÒåµÄÊý¾ÝÀàÐÍʱ£¬»òÕßÔÚÆäÉÏÃæ»¹°ó¶¨ÓÐĬÈÏ»òÕß¹æÔòʱ£¬ÕâÖÖÓû§¶¨ÒåµÄÊý¾ÝÀàÐͲ»ÄÜɾ³ý¡£