MSSQLÊý¾ÝÀàÐͼ°³¤¶ÈÏÞÖÆÏêϸ˵Ã÷
SQL Server ÌṩϵͳÊý¾ÝÀàÐͼ¯£¬¶¨ÒåÁË¿ÉÓë SQL Server Ò»ÆðʹÓõÄËùÓÐÊý¾ÝÀàÐÍ¡£ÏÂÃæÁгöϵͳÌṩµÄÊý¾ÝÀàÐͼ¯¡£
¿ÉÒÔ¶¨ÒåÓû§¶¨ÒåµÄÊý¾ÝÀàÐÍ£¬ÆäÊÇϵͳÌṩµÄÊý¾ÝÀàÐ͵ıðÃû¡£ÓйØÓû§¶¨ÒåµÄÊý¾ÝÀàÐ͵ĸü¶àÐÅÏ¢£¬Çë²Î¼û sp_addtype ºÍ´´½¨Óû§¶¨ÒåµÄÊý¾ÝÀàÐÍ¡£
µ±Á½¸ö¾ßÓв»Í¬Êý¾ÝÀàÐÍ¡¢ÅÅÐò¹æÔò¡¢¾«¶È¡¢Ð¡ÊýλÊý»ò³¤¶ÈµÄ±í´ïʽͨ¹ýÔËËã·û½øÐÐ×éºÏʱ£º
ͨ¹ý½«Êý¾ÝÀàÐ͵ÄÓÅÏÈ˳Ðò¹æÔòÓ¦Óõ½ÊäÈë±í´ïʽµÄÊý¾ÝÀàÐÍÀ´È·¶¨ËùµÃÖµµÄÊý¾ÝÀàÐÍ¡£Óйظü¶àÐÅÏ¢£¬Çë²Î¼ûÊý¾ÝÀàÐ͵ÄÓÅÏÈ˳Ðò¡£
Èç¹û½á¹ûÊý¾ÝÀàÐÍΪ char¡¢varchar¡¢text¡¢nchar¡¢nvarchar »ò ntext£¬Ôò½á¹ûÖµµÄÅÅÐò¹æÔòÓÉÅÅÐò¹æÔòµÄÓÅÏÈ˳Ðò¹æÔò¾ö¶¨¡£Óйظü¶àÐÅÏ¢£¬Çë²Î¼ûÅÅÐò¹æÔòµÄÓÅÏÈ˳Ðò¡£
½á¹ûµÄ¾«¶È¡¢Ð¡ÊýλÊý¼°³¤¶ÈÈ¡¾öÓÚÊäÈë±í´ïʽµÄ¾«¶È¡¢Ð¡ÊýλÊý¼°³¤¶È¡£Óйظü¶àÐÅÏ¢£¬Çë²Î¼û¾«¶È¡¢Ð¡ÊýλÊýºÍ³¤¶È¡£
SQL Server Ϊ SQL-92 ¼æÈÝÐÔÌṩÁËÊý¾ÝÀàÐÍͬÒå´Ê¡£Óйظü¶àÐÅÏ¢£¬Çë²Î¼ûÊý¾ÝÀàÐÍͬÒå´Ê¡£
¾«È·Êý×Ö
ÕûÊý
bigint ´Ó -2^63 (-9223372036854775808) µ½ 2^63-1 (9223372036854775807) µÄÕûÐÍÊý¾Ý£¨ËùÓÐÊý×Ö£©¡£
int ´Ó -2^31 (-2,147,483,648) µ½ 2^31 - 1 (2,147,483,647) µÄÕûÐÍÊý¾Ý£¨ËùÓÐÊý×Ö£©¡£
smallint ´Ó -2^15 (-32,768) µ½ 2^15 - 1 (32,767) µÄÕûÊýÊý¾Ý¡£
tinyint ´Ó 0 µ½ 255 µÄÕûÊýÊý¾Ý¡£
bit
bit 1 »ò 0 µÄÕûÊýÊý¾Ý¡£
decimal ºÍ numeric
decimal ´Ó -10^38 +1 µ½ 10^38 –1 µÄ¹Ì¶¨¾«¶ÈºÍСÊýλµÄÊý×ÖÊý¾Ý¡£
numeric ¹¦ÄÜÉϵÈͬÓÚ decimal¡£
money ºÍ smallmoney
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.40E + 38 µ½ 3.40E + 38 µÄ¸¡µã¾«¶ÈÊý×Ö¡£
datetime ºÍ smalldatetime
datetime ´Ó 1753 Äê 1 Ô 1 ÈÕµ½ 9999 Äê 12 Ô 31 ÈÕµÄÈÕÆÚºÍʱ¼äÊý¾Ý£¬¾«È·µ½°Ù·ÖÖ®ÈýÃ루»ò 3.33 ºÁÃ룩¡£
smalldatetime ´Ó 1900 Äê 1 Ô 1 ÈÕµ½ 2079 Äê 6 Ô 6 ÈÕµÄÈÕÆÚºÍʱ¼äÊý¾Ý£¬¾«È·µ½·ÖÖÓ¡£
×Ö·û´®
char ¹Ì¶¨³¤¶ÈµÄ·Ç Unicode ×Ö·ûÊý¾Ý£¬×î´ó³¤¶ÈΪ 8,000 ¸ö×Ö·û¡£
varchar ¿É±ä³¤¶ÈµÄ·Ç Unicode Êý¾Ý£¬×Î
Ïà¹ØÎĵµ£º
-- ÈÎÒâ½øÖÆ×ª»»Îª10½øÖÆ
-- Àý 0FA ת»»Îª 16½øÖÆ select dbo.f_BinaryToInt('0123456789ABCDEF', '0FA')
CREATE function dbo.f_BinaryToInt(@BinaryFormate varchar(100), @num varchar(200))
--@BinaryFormate Ϊ×Ô¶¨ÒåµÄ½øÖƸñʽ
--@num ΪҪת»»³É10½øÖƵÄ×Ô¶¨ ......
--1. ´´½¨±í£¬Ìí¼Ó²âÊÔÊý¾Ý
CREATE TABLE tb(id int, [value] varchar(10))
INSERT tb SELECT 1, 'aa'
UNION ALL SELECT 1, 'bb'
UNION ALL SELECT 2, 'aaa'
UNION ALL SELECT 2, 'bbb'
UNION ALL SELECT 2, 'ccc'
--SELECT * from tb
/**//*
id value
----------- ----------
1 aa
1 bb
2 aaa
......
Create proc RegisterUser
(
@usrName varchar(30)
,@usrPasswd varchar(30)
,@age int
,@PhoneNum varchar(20)
,@Address varchar(50)
)
as
begin
--ÏÔʾ¶¨Òå²¢¿ªÊ¼Ò»¸öÊÂÎñ
begin tran
insert into user
(
userName
,userPasswd
)
values
(
@usrName
,@usrPassw ......
1.¶Ô²éѯ½øÐÐÓÅ»¯£¬Ó¦¾¡Á¿±ÜÃâÈ«±íɨÃ裬Ê×ÏÈÓ¦¿¼ÂÇÔÚ where ¼° order by Éæ¼°µÄÁÐÉϽ¨Á¢Ë÷Òý¡£
2.Ó¦¾¡Á¿±ÜÃâÔÚ where ×Ó¾äÖжÔ×ֶνøÐÐ null ÖµÅжϣ¬·ñÔò½«µ¼ÖÂÒýÇæ·ÅÆúʹÓÃË÷Òý¶ø½øÐÐÈ«±íɨÃ裬È磺
select id from t where num is null
¿ÉÒÔÔÚnumÉÏÉèÖÃĬÈÏÖµ0£¬È·±£±íÖÐnumÁÐûÓÐnullÖµ£¬È»ºóÕâÑù²éѯ£º
select id ......