如题所述
SQLæ°æ®ç±»å详解
bit æ´å
å ¶å¼åªè½æ¯0ã1æ空å¼ã
è¿ç§æ°æ®ç±»åç¨äºåå¨åªæ两ç§å¯è½å¼çæ°æ®ï¼å¦Yes æNoãTrue æFalse ãOn
æOff.
int æ´å 4个åè
ä»- 2^31(-2147483648)å°2^31 (2147483
647)ä¹é´çæ´æ°ã
åå¨å°æ°æ®åºçå ä¹æææ°å¼åçæ°æ®é½å¯ä»¥ç¨è¿ç§æ°æ®ç±»åã
smallint æ´å 2个åè
smallint æ°æ®ç±»åå¯ä»¥åå¨ä»- 2^15(-32768)å°2^15(32767)ä¹é´çæ´æ°ã
tinyint æ´å 1个åè
tinyint æ°æ®ç±»åè½åå¨ä»0å°255 ä¹é´çæ´æ°ã
numeric ã decimal 精确æ°å¼å
ä»-1038-1å°1038-1çåºå®ç²¾åº¦åèå´çæ°å¼åæ°æ®ã
使ç¨è¿ç§æ°æ®ç±»åæ¶ï¼å¿ é¡»æå®èå´å精度ã
èå´æ¯å°æ°ç¹å·¦å³æè½åå¨çæ°åçæ»ä½æ°ï¼ç²¾åº¦æ¯å°æ°ç¹å³è¾¹åå¨çæ°åçä½æ°ã
money è´§å¸å
è¿ç§æ°æ®ç±»åè½åå¨ä»-9220亿å°9220 亿ä¹é´çæ°æ®ï¼ç²¾ç¡®å°è´§å¸åä½çä¸åä¹ä¸ã
smallmoney è´§å¸å
è¿ç§æ°æ®ç±»åè½åå¨ä»-214748.3648 å°214748.3647
ä¹é´çæ°æ®ï¼ç²¾ç¡®å°è´§å¸åä½çä¸åä¹ä¸ã
float æµ®ç¹æ°å¼å
ä»-1.79E+308å°1.79E+308 ä¹é´çä»»ææ°ã
real å®å
å¨-3.40E+38å°3.40E+38ä¹é´çæµ®ç¹æ°ã
datetime æ¥ææ¶é´å
ä»1753å¹´1æ1æ¥å°9999å¹´12æ31æ¥é´ææçæ¥æåæ¶é´æ°æ®ï¼ç²¾ç¡®å°ä¸ç¾åä¹ä¸ç§æ3.33毫ç§ã
Smalldatetime æ¥ææ¶é´å
ä»1900å¹´1æ1æ¥å°2079å¹´6æ6æ¥é´çæ¥æåæ¶é´ï¼ç²¾ç¡®å°ä¸åéã
cursor ç¹æ®æ°æ®å
å®å å«ä¸ä¸ªå¯¹æ¸¸æ çå¼ç¨ãè¿ç§æ°æ®ç±»åç¨å¨åå¨è¿ç¨ä¸ï¼èä¸å建表æ¶ä¸è½ç¨ã
timestamp ç¹æ®æ°æ®å
ç¨æ¥å建ä¸ä¸ªæ°æ®åºèå´å çå¯ä¸æ°ç ã
ä¸ä¸ªè¡¨ä¸åªè½æä¸ä¸ªtimestampåãæ¯æ¬¡æå ¥æä¿®æ¹ä¸è¡æ¶ï¼timestampåçå¼é½ä¼æ¹åã
Uniqueidentifier ç¹æ®æ°æ®å
å ¨å±å¯ä¸æ è¯ç¬¦ï¼å³GUIDãå¯ä»¥ä½¿ç¨NEWID
å½æ°æ转æ¢ä¸ä¸ªå符串为å¯ä¸æ è¯ç¬¦æ¥åå§åå ·æå¯ä¸æ è¯ç¬¦çå .
char å符å
åå¨æå®é¿åº¦çå®é¿éç»ä¸ç¼ç åçæ°æ®ãå½å®ä¹ä¸å为æ¤ç±»åæ¶ï¼ä½ å¿ é¡»æå®åé¿ã
å½ä½ æ»è½ç¥éè¦åå¨çæ°æ®çé¿åº¦æ¶ï¼æ¤æ°æ®ç±»åå¾æç¨ã
æ¤æ°æ®ç±»åçå宽æ大为8000
个å符.
varchar å符å
ç¨æ¥åå¨éç»ä¸ç¼ç åå符æ°æ®ãä¸char
åä¸ä¸æ ·ï¼æ¤æ°æ®ç±»å为åé¿ã
å½å®ä¹ä¸å为该æ°æ®ç±»åæ¶ï¼ä½ è¦æå®è¯¥åçæ大é¿åº¦ã
å®ä¸charæ°æ®ç±»åæ大çåºå«æ¯ï¼åå¨çé¿åº¦ä¸æ¯åé¿ï¼èæ¯æ°æ®çé¿åº¦.
text å符å
ç¨æ¥åå¨å¤§éçéç»ä¸ç¼ç åå符æ°æ®ã
è¿ç§æ°æ®ç±»åæå¤å¯ä»¥æ2^31-1æ20亿个ååèå符.
nchar ç»ä¸ç¼ç å符å
ç¨æ¥åå¨å®é¿ç»ä¸ç¼ç å符åæ°æ®ãç»ä¸ç¼ç ç¨ååèç»ææ¥åå¨æ¯ä¸ªå符ï¼èä¸æ¯ç¨ååè(æ®éææ¬ä¸çæ åµ)ãå®å 许大éçæ©å±å符ãæ¤æ°æ®ç±»åè½åå¨4000ç§å符ï¼ä½¿ç¨çåè空é´ä¸å¢å äºä¸å.
nvarchar ç»ä¸ç¼ç å符å
nvarchar
æ°æ®ç±»åç¨ä½åé¿çç»ä¸ç¼ç å符åæ°æ®ãæ¤æ°æ®ç±»åè½åå¨4000ç§å符ï¼ä½¿ç¨çåè空é´å¢å äºä¸å.
ntext ç»ä¸ç¼ç å符å
ntext æ°æ®ç±»åç¨æ¥åå¨å¤§éçç»ä¸ç¼ç å符åæ°æ®ã
è¿ç§æ°æ®ç±»åè½åå¨2^30
-1æå°è¿10亿个å符ï¼ä¸ä½¿ç¨çåè空é´å¢å äºä¸å
binary äºè¿å¶æ°æ®ç±»å
binaryæ°æ®ç±»åç¨æ¥åå¨å¯è¾¾8000
åèé¿çå®é¿çäºè¿å¶æ°æ®ãå½è¾å ¥è¡¨çå 容æ¥è¿ç¸åçé¿åº¦æ¶ï¼ä½ åºè¯¥ä½¿ç¨è¿ç§æ°æ®ç±»å.
varbinary äºè¿å¶æ°æ®ç±»å
varbinary æ°æ®ç±»åç¨æ¥åå¨å¯è¾¾8000
åèé¿çåé¿çäºè¿å¶æ°æ®ãå½è¾å ¥è¡¨çå 容大å°å¯åæ¶ï¼ä½ åºè¯¥ä½¿ç¨è¿ç§æ°æ®ç±»å
image äºè¿å¶æ°æ®ç±»å
image æ°æ®ç±»åç¨æ¥åå¨åé¿çäºè¿å¶æ°æ®ï¼æ大å¯è¾¾2^31-1æ大约20亿åè
ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼
(1)äºè¿å¶æ°æ®ç±»å
ããäºè¿å¶æ°æ®å æ¬ BinaryãVarbinary å Image
ããBinary
æ°æ®ç±»åæ¢å¯ä»¥æ¯åºå®é¿åº¦ç(Binary),ä¹å¯ä»¥æ¯åé¿åº¦çã
ããBinary[(n)] æ¯ n ä½åºå®çäºè¿å¶æ°æ®ãå ¶ä¸ï¼n çåå¼èå´æ¯ä» 1 å°
8000ãå ¶åå¨çª¨ç大å°æ¯ n + 4 个åèã
ããVarbinary[(n)] æ¯ n ä½åé¿åº¦çäºè¿å¶æ°æ®ãå ¶ä¸ï¼n çåå¼èå´æ¯ä» 1 å°
8000ãå ¶åå¨çª¨ç大å°æ¯ n + 4个åèï¼ä¸æ¯n 个åèã
ããå¨ Image æ°æ®ç±»åä¸åå¨çæ°æ®æ¯ä»¥ä½å符串åå¨çï¼ä¸æ¯ç± SQL Server
解éçï¼å¿ é¡»ç±åºç¨ç¨åºæ¥è§£éãä¾å¦ï¼åºç¨ç¨åºå¯ä»¥ä½¿ç¨BMPãTIEFãGIF å JPEG æ ¼å¼ææ°æ®åå¨å¨ Image æ°æ®ç±»åä¸ã
(2)å符æ°æ®ç±»å
ããå符æ°æ®çç±»åå æ¬ Charï¼Varchar å Text
ããå符æ°æ®æ¯ç±ä»»ä½åæ¯ã符å·åæ°åä»»æç»åèæçæ°æ®ã
ããVarchar
æ¯åé¿å符æ°æ®ï¼å ¶é¿åº¦ä¸è¶ è¿ 8KBãChar æ¯å®é¿å符æ°æ®ï¼å ¶é¿åº¦æå¤ä¸º 8KBãè¶ è¿ 8KB çASCII æ°æ®å¯ä»¥ä½¿ç¨Textæ°æ®ç±»ååå¨ãä¾å¦ï¼å 为
Html ææ¡£å ¨é¨é½æ¯ ASCII å符ï¼å¹¶ä¸å¨ä¸è¬æ åµä¸é¿åº¦è¶ è¿ 8KBï¼æ以è¿äºææ¡£å¯ä»¥ Text æ°æ®ç±»ååå¨å¨SQL Server ä¸ã
(3)Unicode æ°æ®ç±»å
ããUnicode æ°æ®ç±»åå æ¬ Nchar,Nvarchar åNtext
ããå¨ Microsoft SQL Server ä¸ï¼ä¼ ç»çé
Unicode æ°æ®ç±»åå 许使ç¨ç±ç¹å®å符éå®ä¹çå符ãå¨ SQL Serverå®è£ è¿ç¨ä¸ï¼å 许éæ©ä¸ç§å符éãä½¿ç¨ Unicode
æ°æ®ç±»åï¼åä¸å¯ä»¥åå¨ä»»ä½ç±Unicode æ åå®ä¹çå符ãå¨ Unicode
æ åä¸ï¼å æ¬äºä»¥åç§å符éå®ä¹çå ¨é¨å符ã使ç¨Unicodeæ°æ®ç±»åï¼ææèç窨æ¯ä½¿ç¨é Unicode æ°æ®ç±»åæå ç¨ç窨大å°ç两åã
ããå¨ SQL
Server ä¸ï¼Unicode æ°æ®ä»¥ NcharãNvarchar å Ntext
æ°æ®ç±»ååå¨ã使ç¨è¿ç§å符类ååå¨çåå¯ä»¥åå¨å¤ä¸ªå符éä¸çå符ãå½åçé¿åº¦ååæ¶ï¼åºè¯¥ä½¿ç¨Nvarchar å符类åï¼è¿æ¶æå¤å¯ä»¥åå¨ 4000
个å符ãå½åçé¿åº¦åºå®ä¸åæ¶ï¼åºè¯¥ä½¿ç¨ Nchar å符类åï¼åæ ·ï¼è¿æ¶æå¤å¯ä»¥åå¨4000 个å符ãå½ä½¿ç¨ Ntext æ°æ®ç±»åæ¶ï¼è¯¥åå¯ä»¥åå¨å¤äº 4000
个å符ã
(4)æ¥æåæ¶é´æ°æ®ç±»å
ããæ¥æåæ¶é´æ°æ®ç±»åå æ¬ 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æ¯é常æç¨ãä¾å¦ï¼å¨å®¢æ·æ è¯å·å使ç¨è¿ç§æ°æ®ç±»åå¯ä»¥åºå«ä¸åç客æ·ã
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ï¼å ¶åºäºçç³»ç»æ°æ®ç±»åæ¯åé¿ä¸º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'
ãã注æï¼å½è¡¨ä¸çåè¿æ£å¨ä½¿ç¨ç¨æ·å®ä¹çæ°æ®ç±»åæ¶ï¼æè å¨å ¶ä¸é¢è¿ç»å®æé»è®¤æè è§åæ¶ï¼è¿ç§ç¨æ·å®ä¹çæ°æ®ç±»åä¸è½å é¤ã
SQL SERVERçå段类å说æ
ãã以ä¸ä¸ºSQL SERVER7.0以ä¸çæ¬çå段类å说æãSQL SERVER6.5çå段类å说æ请åèSQL SERVERæä¾ç说æã
å段类å æè¿°
bit 0æ1çæ´åæ°å
int
ä»-2^31(-2,147,483,648)å°2^31(2,147,483,647)çæ´åæ°å
smallint
ä»-2^15(-32,768)å°2^15(32,767)çæ´åæ°å
tinyint ä»0å°255çæ´åæ°å
decimal ä»-10^38å°10^38-1çå®ç²¾åº¦ä¸ææä½æ°çæ°å
numeric decimalçåä¹è¯
money
ä»-2^63(-922,337,203,685,477.5808)å°2^63-1(922,337,203,685,477.5807)çè´§å¸æ°æ®ï¼æå°è´§å¸åä½ååä¹å
smallmoney ä»-214,748.3648å°214,748.3647çè´§å¸æ°æ®ï¼æå°è´§å¸åä½ååä¹å
float
ä»-1.79E+308å°1.79E+308å¯å精度çæ°å
real ä»-3.04E+38å°3.04E+38å¯å精度çæ°å
datetime ä»1753å¹´1æ1æ¥å°9999å¹´12æ¥31çæ¥æåæ¶é´æ°æ®ï¼æå°æ¶é´åä½ä¸ºç¾åä¹ä¸ç§æ3.33毫ç§
smalldatetime ä»1900å¹´1æ1æ¥å°2079å¹´6æ6æ¥çæ¥æåæ¶é´æ°æ®ï¼æå°æ¶é´åä½ä¸ºåé
timestamp æ¶é´æ³ï¼ä¸ä¸ªæ°æ®åºå®½åº¦çå¯ä¸æ°å
uniqueidentifier å ¨çå¯ä¸æ è¯ç¬¦GUID
char å®é¿éUnicodeçå符åæ°æ®ï¼æ大é¿åº¦ä¸º8000
varchar åé¿éUnicodeçå符åæ°æ®ï¼æ大é¿åº¦ä¸º8000
text åé¿éUnicodeçå符åæ°æ®ï¼æ大é¿åº¦ä¸º2^31-1(2G)
nchar
å®é¿Unicodeçå符åæ°æ®ï¼æ大é¿åº¦ä¸º8000
nvarchar åé¿Unicodeçå符åæ°æ®ï¼æ大é¿åº¦ä¸º8000
ntext
åé¿Unicodeçå符åæ°æ®ï¼æ大é¿åº¦ä¸º2^31-1(2G)
binary å®é¿äºè¿å¶æ°æ®ï¼æ大é¿åº¦ä¸º8000
varbinary åé¿äºè¿å¶æ°æ®ï¼æ大é¿åº¦ä¸º8000
image åé¿äºè¿å¶æ°æ®ï¼æ大é¿åº¦ä¸º2^31-1(2G)
ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼
Bit
1ä½ï¼å¼ä¸º0æ1
Int
Integer
4åèï¼å¼ä¸º-2^31~2^31-1
Smallint
2åèï¼å¼ä¸º-2^15~2^15-1
Tinyint
1åèï¼å¼ä¸º0~255
Decimal (p,s)
æ°åæ°æ®ï¼åºå®ç²¾åº¦ä¸ºPï¼å®½åº¦ä¸ºS
Numeric
Money
8åèï¼åæ¾è´§å¸ç±»åï¼å¼ä¸º-2^63~2^63-1
Small money
4åèï¼åæ¾è´§å¸ç±»åï¼å¼ä¸º-214748.3648~+214748.3647è¿ä¼¼æ°å¼æ°æ®ç±»å
Float (n)
Nå¨1~24ä¹é´ï¼4åèï¼7ä½ç²¾åº¦
N=1~7为real
Nå¨25~53ä¹é´ï¼8åèï¼15ä½ç²¾åº¦
=8~15为float
Datetime
8åèï¼æè¿°æ天çæ¥æåæ¶å»ï¼å¼ç精确度为1/300ç§
Smalldatetime
4åèï¼æè¿°æ天çæ¥æåæ¶å»ï¼ç²¾åº¦ä¸ºåé
Cursor
对游æ çå¼ç¨
Timestamp
8åèï¼åæ¾å¨æ°æ®åºå å¯ä¸çæ°æ®
Uniqueidentifier
16åèï¼åæ¾å ¨å±å¯ä¸æ è¯ï¼GUIDï¼
Char (n)
éunicodeå符串çåºå®é¿åº¦ï¼n=1~8000
Character (n)
Varchar (n)
å¯åé¿åº¦ï¼éunicodeå符串n=1~8000
Char varying(n)
Text
æå¡å¨ä»£ç 页ä¸å¯åé¿åº¦éunicodeæ°æ®ãæ大é¿åº¦ä¸º2^31-1个å符
Nchar
åºå®é¿åº¦unicodeå符串n=1~4000
National character (n),
National char(n)
Nvarchar
åºå®é¿åº¦unicodeå符串n=1~4000
National
character varying(n)
Ntext
å¯åé¿åº¦unicodeæ°æ®ï¼æ大é¿åº¦ä¸º2^30-1个å符
National text
Binary (n)
åºå®é¿åº¦äºè¿å¶æ°æ®ï¼nå¨1~8000ä¹é´ï¼åå¨ç©ºé´ä¸ºn+4åè
Varbinary (n)
å¯åé¿åº¦äºè¿å¶æ°æ®ï¼n=1~8000
Binary varying (n)
Tmage
å¯åé¿åº¦äºè¿å¶æ°æ®ï¼å¤§å°ä¸º0~2^31-1
注æï¼
1ï¼
对äºæ°å¼åæ°æ®ç±»åï¼å®½åº¦ï¼scaleï¼æ¯æåå¨å¨å°æ°ç¹åçæ°åä½æ°ï¼è精度ï¼precisionï¼æ¯æè½åå¨çå å«å°æ°ç¹å¨å çæææ°åä½æ°ã
2ï¼ moneyåsmall moneyçåå¨å®½åº¦ä¸º4ã
3ï¼ æ¶é´æ³åå¼å¨æ¯ä¸è¡æ´æ°æ¶ç³»ç»èªå¨æ´æ°ï¼æ¶é´æ³åä¸è½æ¯å ³é®åæå ³é®åçä¸é¨åã
4ï¼
å¯ä¸æ è¯æ°æ®ç±»åä¸è½ä½¿ç¨ç®æ¯æä½ç¬¦ï¼å¦+ã-çï¼ï¼è¿ç§æ°æ®ç±»ååªè½ä½¿ç¨ç¸çæ¯è¾æä½ãUnicodeæ¯ææå符éçä¸è´åå¨æ°æ®çæ åãå®è¦ä½¿ç¨ä¸¤åäºéUnicodeæ°æ®åå¨çåå¨ç©ºé´ã
bit æ´å
å ¶å¼åªè½æ¯0ã1æ空å¼ã
è¿ç§æ°æ®ç±»åç¨äºåå¨åªæ两ç§å¯è½å¼çæ°æ®ï¼å¦Yes æNoãTrue æFalse ãOn
æOff.
int æ´å 4个åè
ä»- 2^31(-2147483648)å°2^31 (2147483
647)ä¹é´çæ´æ°ã
åå¨å°æ°æ®åºçå ä¹æææ°å¼åçæ°æ®é½å¯ä»¥ç¨è¿ç§æ°æ®ç±»åã
smallint æ´å 2个åè
smallint æ°æ®ç±»åå¯ä»¥åå¨ä»- 2^15(-32768)å°2^15(32767)ä¹é´çæ´æ°ã
tinyint æ´å 1个åè
tinyint æ°æ®ç±»åè½åå¨ä»0å°255 ä¹é´çæ´æ°ã
numeric ã decimal 精确æ°å¼å
ä»-1038-1å°1038-1çåºå®ç²¾åº¦åèå´çæ°å¼åæ°æ®ã
使ç¨è¿ç§æ°æ®ç±»åæ¶ï¼å¿ é¡»æå®èå´å精度ã
èå´æ¯å°æ°ç¹å·¦å³æè½åå¨çæ°åçæ»ä½æ°ï¼ç²¾åº¦æ¯å°æ°ç¹å³è¾¹åå¨çæ°åçä½æ°ã
money è´§å¸å
è¿ç§æ°æ®ç±»åè½åå¨ä»-9220亿å°9220 亿ä¹é´çæ°æ®ï¼ç²¾ç¡®å°è´§å¸åä½çä¸åä¹ä¸ã
smallmoney è´§å¸å
è¿ç§æ°æ®ç±»åè½åå¨ä»-214748.3648 å°214748.3647
ä¹é´çæ°æ®ï¼ç²¾ç¡®å°è´§å¸åä½çä¸åä¹ä¸ã
float æµ®ç¹æ°å¼å
ä»-1.79E+308å°1.79E+308 ä¹é´çä»»ææ°ã
real å®å
å¨-3.40E+38å°3.40E+38ä¹é´çæµ®ç¹æ°ã
datetime æ¥ææ¶é´å
ä»1753å¹´1æ1æ¥å°9999å¹´12æ31æ¥é´ææçæ¥æåæ¶é´æ°æ®ï¼ç²¾ç¡®å°ä¸ç¾åä¹ä¸ç§æ3.33毫ç§ã
Smalldatetime æ¥ææ¶é´å
ä»1900å¹´1æ1æ¥å°2079å¹´6æ6æ¥é´çæ¥æåæ¶é´ï¼ç²¾ç¡®å°ä¸åéã
cursor ç¹æ®æ°æ®å
å®å å«ä¸ä¸ªå¯¹æ¸¸æ çå¼ç¨ãè¿ç§æ°æ®ç±»åç¨å¨åå¨è¿ç¨ä¸ï¼èä¸å建表æ¶ä¸è½ç¨ã
timestamp ç¹æ®æ°æ®å
ç¨æ¥å建ä¸ä¸ªæ°æ®åºèå´å çå¯ä¸æ°ç ã
ä¸ä¸ªè¡¨ä¸åªè½æä¸ä¸ªtimestampåãæ¯æ¬¡æå ¥æä¿®æ¹ä¸è¡æ¶ï¼timestampåçå¼é½ä¼æ¹åã
Uniqueidentifier ç¹æ®æ°æ®å
å ¨å±å¯ä¸æ è¯ç¬¦ï¼å³GUIDãå¯ä»¥ä½¿ç¨NEWID
å½æ°æ转æ¢ä¸ä¸ªå符串为å¯ä¸æ è¯ç¬¦æ¥åå§åå ·æå¯ä¸æ è¯ç¬¦çå .
char å符å
åå¨æå®é¿åº¦çå®é¿éç»ä¸ç¼ç åçæ°æ®ãå½å®ä¹ä¸å为æ¤ç±»åæ¶ï¼ä½ å¿ é¡»æå®åé¿ã
å½ä½ æ»è½ç¥éè¦åå¨çæ°æ®çé¿åº¦æ¶ï¼æ¤æ°æ®ç±»åå¾æç¨ã
æ¤æ°æ®ç±»åçå宽æ大为8000
个å符.
varchar å符å
ç¨æ¥åå¨éç»ä¸ç¼ç åå符æ°æ®ãä¸char
åä¸ä¸æ ·ï¼æ¤æ°æ®ç±»å为åé¿ã
å½å®ä¹ä¸å为该æ°æ®ç±»åæ¶ï¼ä½ è¦æå®è¯¥åçæ大é¿åº¦ã
å®ä¸charæ°æ®ç±»åæ大çåºå«æ¯ï¼åå¨çé¿åº¦ä¸æ¯åé¿ï¼èæ¯æ°æ®çé¿åº¦.
text å符å
ç¨æ¥åå¨å¤§éçéç»ä¸ç¼ç åå符æ°æ®ã
è¿ç§æ°æ®ç±»åæå¤å¯ä»¥æ2^31-1æ20亿个ååèå符.
nchar ç»ä¸ç¼ç å符å
ç¨æ¥åå¨å®é¿ç»ä¸ç¼ç å符åæ°æ®ãç»ä¸ç¼ç ç¨ååèç»ææ¥åå¨æ¯ä¸ªå符ï¼èä¸æ¯ç¨ååè(æ®éææ¬ä¸çæ åµ)ãå®å 许大éçæ©å±å符ãæ¤æ°æ®ç±»åè½åå¨4000ç§å符ï¼ä½¿ç¨çåè空é´ä¸å¢å äºä¸å.
nvarchar ç»ä¸ç¼ç å符å
nvarchar
æ°æ®ç±»åç¨ä½åé¿çç»ä¸ç¼ç å符åæ°æ®ãæ¤æ°æ®ç±»åè½åå¨4000ç§å符ï¼ä½¿ç¨çåè空é´å¢å äºä¸å.
ntext ç»ä¸ç¼ç å符å
ntext æ°æ®ç±»åç¨æ¥åå¨å¤§éçç»ä¸ç¼ç å符åæ°æ®ã
è¿ç§æ°æ®ç±»åè½åå¨2^30
-1æå°è¿10亿个å符ï¼ä¸ä½¿ç¨çåè空é´å¢å äºä¸å
binary äºè¿å¶æ°æ®ç±»å
binaryæ°æ®ç±»åç¨æ¥åå¨å¯è¾¾8000
åèé¿çå®é¿çäºè¿å¶æ°æ®ãå½è¾å ¥è¡¨çå 容æ¥è¿ç¸åçé¿åº¦æ¶ï¼ä½ åºè¯¥ä½¿ç¨è¿ç§æ°æ®ç±»å.
varbinary äºè¿å¶æ°æ®ç±»å
varbinary æ°æ®ç±»åç¨æ¥åå¨å¯è¾¾8000
åèé¿çåé¿çäºè¿å¶æ°æ®ãå½è¾å ¥è¡¨çå 容大å°å¯åæ¶ï¼ä½ åºè¯¥ä½¿ç¨è¿ç§æ°æ®ç±»å
image äºè¿å¶æ°æ®ç±»å
image æ°æ®ç±»åç¨æ¥åå¨åé¿çäºè¿å¶æ°æ®ï¼æ大å¯è¾¾2^31-1æ大约20亿åè
ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼
(1)äºè¿å¶æ°æ®ç±»å
ããäºè¿å¶æ°æ®å æ¬ BinaryãVarbinary å Image
ããBinary
æ°æ®ç±»åæ¢å¯ä»¥æ¯åºå®é¿åº¦ç(Binary),ä¹å¯ä»¥æ¯åé¿åº¦çã
ããBinary[(n)] æ¯ n ä½åºå®çäºè¿å¶æ°æ®ãå ¶ä¸ï¼n çåå¼èå´æ¯ä» 1 å°
8000ãå ¶åå¨çª¨ç大å°æ¯ n + 4 个åèã
ããVarbinary[(n)] æ¯ n ä½åé¿åº¦çäºè¿å¶æ°æ®ãå ¶ä¸ï¼n çåå¼èå´æ¯ä» 1 å°
8000ãå ¶åå¨çª¨ç大å°æ¯ n + 4个åèï¼ä¸æ¯n 个åèã
ããå¨ Image æ°æ®ç±»åä¸åå¨çæ°æ®æ¯ä»¥ä½å符串åå¨çï¼ä¸æ¯ç± SQL Server
解éçï¼å¿ é¡»ç±åºç¨ç¨åºæ¥è§£éãä¾å¦ï¼åºç¨ç¨åºå¯ä»¥ä½¿ç¨BMPãTIEFãGIF å JPEG æ ¼å¼ææ°æ®åå¨å¨ Image æ°æ®ç±»åä¸ã
(2)å符æ°æ®ç±»å
ããå符æ°æ®çç±»åå æ¬ Charï¼Varchar å Text
ããå符æ°æ®æ¯ç±ä»»ä½åæ¯ã符å·åæ°åä»»æç»åèæçæ°æ®ã
ããVarchar
æ¯åé¿å符æ°æ®ï¼å ¶é¿åº¦ä¸è¶ è¿ 8KBãChar æ¯å®é¿å符æ°æ®ï¼å ¶é¿åº¦æå¤ä¸º 8KBãè¶ è¿ 8KB çASCII æ°æ®å¯ä»¥ä½¿ç¨Textæ°æ®ç±»ååå¨ãä¾å¦ï¼å 为
Html ææ¡£å ¨é¨é½æ¯ ASCII å符ï¼å¹¶ä¸å¨ä¸è¬æ åµä¸é¿åº¦è¶ è¿ 8KBï¼æ以è¿äºææ¡£å¯ä»¥ Text æ°æ®ç±»ååå¨å¨SQL Server ä¸ã
(3)Unicode æ°æ®ç±»å
ããUnicode æ°æ®ç±»åå æ¬ Nchar,Nvarchar åNtext
ããå¨ Microsoft SQL Server ä¸ï¼ä¼ ç»çé
Unicode æ°æ®ç±»åå 许使ç¨ç±ç¹å®å符éå®ä¹çå符ãå¨ SQL Serverå®è£ è¿ç¨ä¸ï¼å 许éæ©ä¸ç§å符éãä½¿ç¨ Unicode
æ°æ®ç±»åï¼åä¸å¯ä»¥åå¨ä»»ä½ç±Unicode æ åå®ä¹çå符ãå¨ Unicode
æ åä¸ï¼å æ¬äºä»¥åç§å符éå®ä¹çå ¨é¨å符ã使ç¨Unicodeæ°æ®ç±»åï¼ææèç窨æ¯ä½¿ç¨é Unicode æ°æ®ç±»åæå ç¨ç窨大å°ç两åã
ããå¨ SQL
Server ä¸ï¼Unicode æ°æ®ä»¥ NcharãNvarchar å Ntext
æ°æ®ç±»ååå¨ã使ç¨è¿ç§å符类ååå¨çåå¯ä»¥åå¨å¤ä¸ªå符éä¸çå符ãå½åçé¿åº¦ååæ¶ï¼åºè¯¥ä½¿ç¨Nvarchar å符类åï¼è¿æ¶æå¤å¯ä»¥åå¨ 4000
个å符ãå½åçé¿åº¦åºå®ä¸åæ¶ï¼åºè¯¥ä½¿ç¨ Nchar å符类åï¼åæ ·ï¼è¿æ¶æå¤å¯ä»¥åå¨4000 个å符ãå½ä½¿ç¨ Ntext æ°æ®ç±»åæ¶ï¼è¯¥åå¯ä»¥åå¨å¤äº 4000
个å符ã
(4)æ¥æåæ¶é´æ°æ®ç±»å
ããæ¥æåæ¶é´æ°æ®ç±»åå æ¬ 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æ¯é常æç¨ãä¾å¦ï¼å¨å®¢æ·æ è¯å·å使ç¨è¿ç§æ°æ®ç±»åå¯ä»¥åºå«ä¸åç客æ·ã
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ï¼å ¶åºäºçç³»ç»æ°æ®ç±»åæ¯åé¿ä¸º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'
ãã注æï¼å½è¡¨ä¸çåè¿æ£å¨ä½¿ç¨ç¨æ·å®ä¹çæ°æ®ç±»åæ¶ï¼æè å¨å ¶ä¸é¢è¿ç»å®æé»è®¤æè è§åæ¶ï¼è¿ç§ç¨æ·å®ä¹çæ°æ®ç±»åä¸è½å é¤ã
SQL SERVERçå段类å说æ
ãã以ä¸ä¸ºSQL SERVER7.0以ä¸çæ¬çå段类å说æãSQL SERVER6.5çå段类å说æ请åèSQL SERVERæä¾ç说æã
å段类å æè¿°
bit 0æ1çæ´åæ°å
int
ä»-2^31(-2,147,483,648)å°2^31(2,147,483,647)çæ´åæ°å
smallint
ä»-2^15(-32,768)å°2^15(32,767)çæ´åæ°å
tinyint ä»0å°255çæ´åæ°å
decimal ä»-10^38å°10^38-1çå®ç²¾åº¦ä¸ææä½æ°çæ°å
numeric decimalçåä¹è¯
money
ä»-2^63(-922,337,203,685,477.5808)å°2^63-1(922,337,203,685,477.5807)çè´§å¸æ°æ®ï¼æå°è´§å¸åä½ååä¹å
smallmoney ä»-214,748.3648å°214,748.3647çè´§å¸æ°æ®ï¼æå°è´§å¸åä½ååä¹å
float
ä»-1.79E+308å°1.79E+308å¯å精度çæ°å
real ä»-3.04E+38å°3.04E+38å¯å精度çæ°å
datetime ä»1753å¹´1æ1æ¥å°9999å¹´12æ¥31çæ¥æåæ¶é´æ°æ®ï¼æå°æ¶é´åä½ä¸ºç¾åä¹ä¸ç§æ3.33毫ç§
smalldatetime ä»1900å¹´1æ1æ¥å°2079å¹´6æ6æ¥çæ¥æåæ¶é´æ°æ®ï¼æå°æ¶é´åä½ä¸ºåé
timestamp æ¶é´æ³ï¼ä¸ä¸ªæ°æ®åºå®½åº¦çå¯ä¸æ°å
uniqueidentifier å ¨çå¯ä¸æ è¯ç¬¦GUID
char å®é¿éUnicodeçå符åæ°æ®ï¼æ大é¿åº¦ä¸º8000
varchar åé¿éUnicodeçå符åæ°æ®ï¼æ大é¿åº¦ä¸º8000
text åé¿éUnicodeçå符åæ°æ®ï¼æ大é¿åº¦ä¸º2^31-1(2G)
nchar
å®é¿Unicodeçå符åæ°æ®ï¼æ大é¿åº¦ä¸º8000
nvarchar åé¿Unicodeçå符åæ°æ®ï¼æ大é¿åº¦ä¸º8000
ntext
åé¿Unicodeçå符åæ°æ®ï¼æ大é¿åº¦ä¸º2^31-1(2G)
binary å®é¿äºè¿å¶æ°æ®ï¼æ大é¿åº¦ä¸º8000
varbinary åé¿äºè¿å¶æ°æ®ï¼æ大é¿åº¦ä¸º8000
image åé¿äºè¿å¶æ°æ®ï¼æ大é¿åº¦ä¸º2^31-1(2G)
ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼
Bit
1ä½ï¼å¼ä¸º0æ1
Int
Integer
4åèï¼å¼ä¸º-2^31~2^31-1
Smallint
2åèï¼å¼ä¸º-2^15~2^15-1
Tinyint
1åèï¼å¼ä¸º0~255
Decimal (p,s)
æ°åæ°æ®ï¼åºå®ç²¾åº¦ä¸ºPï¼å®½åº¦ä¸ºS
Numeric
Money
8åèï¼åæ¾è´§å¸ç±»åï¼å¼ä¸º-2^63~2^63-1
Small money
4åèï¼åæ¾è´§å¸ç±»åï¼å¼ä¸º-214748.3648~+214748.3647è¿ä¼¼æ°å¼æ°æ®ç±»å
Float (n)
Nå¨1~24ä¹é´ï¼4åèï¼7ä½ç²¾åº¦
N=1~7为real
Nå¨25~53ä¹é´ï¼8åèï¼15ä½ç²¾åº¦
=8~15为float
Datetime
8åèï¼æè¿°æ天çæ¥æåæ¶å»ï¼å¼ç精确度为1/300ç§
Smalldatetime
4åèï¼æè¿°æ天çæ¥æåæ¶å»ï¼ç²¾åº¦ä¸ºåé
Cursor
对游æ çå¼ç¨
Timestamp
8åèï¼åæ¾å¨æ°æ®åºå å¯ä¸çæ°æ®
Uniqueidentifier
16åèï¼åæ¾å ¨å±å¯ä¸æ è¯ï¼GUIDï¼
Char (n)
éunicodeå符串çåºå®é¿åº¦ï¼n=1~8000
Character (n)
Varchar (n)
å¯åé¿åº¦ï¼éunicodeå符串n=1~8000
Char varying(n)
Text
æå¡å¨ä»£ç 页ä¸å¯åé¿åº¦éunicodeæ°æ®ãæ大é¿åº¦ä¸º2^31-1个å符
Nchar
åºå®é¿åº¦unicodeå符串n=1~4000
National character (n),
National char(n)
Nvarchar
åºå®é¿åº¦unicodeå符串n=1~4000
National
character varying(n)
Ntext
å¯åé¿åº¦unicodeæ°æ®ï¼æ大é¿åº¦ä¸º2^30-1个å符
National text
Binary (n)
åºå®é¿åº¦äºè¿å¶æ°æ®ï¼nå¨1~8000ä¹é´ï¼åå¨ç©ºé´ä¸ºn+4åè
Varbinary (n)
å¯åé¿åº¦äºè¿å¶æ°æ®ï¼n=1~8000
Binary varying (n)
Tmage
å¯åé¿åº¦äºè¿å¶æ°æ®ï¼å¤§å°ä¸º0~2^31-1
注æï¼
1ï¼
对äºæ°å¼åæ°æ®ç±»åï¼å®½åº¦ï¼scaleï¼æ¯æåå¨å¨å°æ°ç¹åçæ°åä½æ°ï¼è精度ï¼precisionï¼æ¯æè½åå¨çå å«å°æ°ç¹å¨å çæææ°åä½æ°ã
2ï¼ moneyåsmall moneyçåå¨å®½åº¦ä¸º4ã
3ï¼ æ¶é´æ³åå¼å¨æ¯ä¸è¡æ´æ°æ¶ç³»ç»èªå¨æ´æ°ï¼æ¶é´æ³åä¸è½æ¯å ³é®åæå ³é®åçä¸é¨åã
4ï¼
å¯ä¸æ è¯æ°æ®ç±»åä¸è½ä½¿ç¨ç®æ¯æä½ç¬¦ï¼å¦+ã-çï¼ï¼è¿ç§æ°æ®ç±»ååªè½ä½¿ç¨ç¸çæ¯è¾æä½ãUnicodeæ¯ææå符éçä¸è´åå¨æ°æ®çæ åãå®è¦ä½¿ç¨ä¸¤åäºéUnicodeæ°æ®åå¨çåå¨ç©ºé´ã
温馨提示:答案为网友推荐,仅供参考