求SQL2000中数据类型的详解如题 谢谢了 SQL SERVER 2000中,用哪个命令来读取TEXT变...
\u5173\u4e8esql2000\u7684\u95ee\u9898\uff0c\u59d3\u540d\u7684\u6570\u636e\u7c7b\u578b\u662f\u4ec0\u4e48\u554a\uff1f\u8bb0\u5f97\u662fchar
TEXTPTR(column)\u51fd\u6570\uff0c
TEXTPTR\u51fd\u6570\u8fd4\u56de\u4e00\u4e2a\u6307\u5411\u5b58\u50a8\u6587\u672c\u7684\u7b2c\u4e00\u4e2a\u6570\u636e\u5e93\u9875\u7684\u6307\u9488\u5176\u8fd4\u56de\u503c\u662f\u4e00\u4e2aVARBINARY16\u7c7b\u578b\u7684\u4e8c\u8fdb\u5236\u5b57\u7b26\u4e32\u5982\u679c\u6570\u636e\u7c7b\u578b\u4e3aTEXT\uff0cNTEXT\u6216IMAGE\u7684\u5217\u6ca1\u6709\u8d4b\u4e88\u521d\u503c\u5219TEXTPTR\u51fd\u6570\u8fd4\u56de\u4e00\u4e2aNULL\u6307\u9488
\u5b83\u4e5f\u662f\u8981\u548creadtext\u4e00\u8d77\u7528\u7684\uff0c\u4e0b\u9762\u662f\u4e2a\u4f8b\u5b50\uff1a
USE pubs
GO
DECLARE @ptrval varbinary(16)
SELECT @ptrval = TEXTPTR(pr_info)
FROM pub_info pr INNER JOIN publishers p
ON pr.pub_id = p.pub_id
AND p.pub_name = 'New Moon Books'
READTEXT pub_info.pr_info @ptrval 1 25
GO
6 文本和图形数据类型 文本和图形数据类型是用于存储大量的非Unicode和Unicode字符以及二进制数据的固定长度和可变长度数据类型,包括text型、ntext型和image型。 l text型是用于存储大量非Unicode文本数据的可变长度数据类型,其容量理论上为231-1(2 147 483 647)个字节。在实际应用时需要视硬盘的存储空间而定。 在SQL Server 2000以前的版本中,数据库中一个text对象存储的实际上是一个指针,它指向一个以8KB为单位的数据页。这些数据页是动态增加并被逻辑连接起来的。在SQL Server 2000中,则将text和image型的数据直接存放到表的数据行中,而不是存放到不同的数据页中。这样就减少了用于存储text和image类型的空间,并相应减少了磁盘处理这类数据的I/O数量。 l ntext型是用于存储大量Unicode文本数据的可变长度数据类型,其理论容量为230-1(1 073 741 823)个字节。ntext型的其他用法与text型基本一样。 l image型是用于存储大量二进制数据的可变长度数据类型,其理论容量为231-1 (2 147 483 647)个字节。Image型数据的存储模式与text型数据相同,通常用来存储图形等OLE对象。在输入数据时,与输入二进制数据一样,必须在数据前加上起始符号“0X”作为二进制标识。 7 日期和时间数据类型 日期和时间数据类型代表日期和一天内的时间,包括datetime型和smalldatetime型。 l datetime型是用于存储日期和时间的结合体的数据类型。它可以存储从公元1753年1月1日零时起到公元9999年12月31日23时59分59秒之间的所有日期和时间,其精确度可达3%秒。 datetime型数据所占用的存储空间为8个字节,其中前4个字节用于存储1900年1月1日以前或以后的天数,数值分正负,正数表示在此日期之后的日期,负数表示在此日期之前的日期;后4个字节用于存储从此日零时起所指定的时间经过的毫秒数。如果在输入时省略了时间部分,则系统将默认为12:00:00:000AM;如果省略了日期部分,系统将默认为1900年1月1日。 l smalldatetime型与datetime型相似,但其存储的日期时间范围较小,从1900年1月1日到2079年6月6日。它的精度也较低,只能精确到分钟级,其分钟个位上的值是根据秒数并以30秒为界四舍五入得到的。 Smalldatetime型数据所占用的存储空间为4个字节,其中前两个字节存储从基础日期1900年1月1日以来的天数,后两个字节存储此日零时起所指定的时间经过的分钟数。 8 货币数据类型 货币数据类型用于存储货币或现金值,包括money型和smallmoney型。在使用货币数据类型时,应在数据前加上货币符号,以便系统辨识其为哪国的货币,如果不加货币符号,则系统默认为“¥”。 l money型是一个有4位小数的decimal值,其取值从-263(-9 223 372 036 854 775 808) ~263-1(+9 223 372 036 854 775 807),精确到货币单位的千分之十。存储大小为8个字节。 l smallmoney型货币数据值介于-2 147 483 648~+2 147 483 647之间,精确到货币单位的千分之十。存储大小为 4 个字节。 9 特定数据类型 SQL Server 2000中包含了一些用于数据存储的特殊数据类型,包括timestamp型和 uniqueidentifier型。 l timestamp数据类型提供数据库范围内的惟一值,它相当于binary(8)或varbinary(8),但当它所定义的列在进行更新或插入数据行操作时,此列的值会自动更新。每个数据库表中只能有一个timestamp型数据列。如果表中的列名为“timestamp”,则该列的类型将被自动定义为timestamp型。 l uniqueidentifier数据类型用于存储一个16位的二进制数据,此数据称为全局惟一标识符(Globally Unique Identifier,GUID)。此数据由SQL Server 2000的NEWID()函数产生,在全球各地的计算机经由此函数产生的数字不会相同。 10 用户自定义数据类型 sysname数据类型是系统提供给用户的,便于用户自定义的数据类型。该数据类型被定义为NVARCHAR(128),即它可以存储128个Unicode字符或256个一般字符。 11 新增数据类型 前面讲到过SQL Server 2000新增了3种数据类型:bigint型、sql_variant型和table型。其中bigint型已经在整数类型中介绍过了。 l sql_variant型是一种存储SQL Server支持的各种数据类型(text、ntext、timestamp 和sql_variant除外)值的数据类型。此数据类型大大方便了SQL Server的开发工作。 l table型用于存储对表或视图处理后的结果集。table数据类型不适用于表中的列,而只能用于Transact-SQL变量和用户定义函数的返回值。这一类型使得变量可以存储一个表,从而使函数或过程返回查询结果更加方便快捷。
绛旓細sql2000榛樿鐨刣atetime绫诲瀷鏄剧ず鏍煎紡濡傚浘銆傞儴鍒嗙増鏈細鏈夊樊鍒係QL鐨刢onvert鍑芥暟鍙互鎸夐渶姹傝浆鎹㈡樉绀烘牸寮忋侰ONVERT(data_type(length),data_to_be_converted,style)data_type(length) 瑙勫畾鐩爣鏁版嵁绫诲瀷锛堝甫鏈夊彲閫夌殑闀垮害锛夈俤ata_to_be_converted 鍚湁闇瑕佽浆鎹㈢殑鍊笺俿tyle 瑙勫畾鏃ユ湡/鏃堕棿鐨勮緭鍑烘牸寮忋備互getdate()...
绛旓細鍙牴鎹汉鏁扮殑澶氬皯鏉ラ夋嫨鏁版嵁绫诲瀷锛绫诲瀷鐨鑼冨洿濡備笅锛歵inyint锛0鍒255 smallint锛-2鐨15娆℃柟鍒2鐨15娆℃柟鍑1 int锛-2鐨31娆℃柟鍒2鐨31娆℃柟鍑1 bigint锛-2鐨63娆℃柟鍒2鐨63娆℃柟鍑1
绛旓細浜屻 娴偣鏁版嵁绫诲瀷锛氭诞鐐规暟鎹被鍨嬬敤浜庡瓨鍌ㄥ崄杩涘埗灏忔暟銆傛诞鐐鏁板肩殑鏁版嵁鍦SQL Server 涓噰鐢ㄤ笂鑸嶅叆锛圧ound up 鎴栫О涓哄彧鍏ヤ笉鑸嶏級鏂瑰紡杩涜瀛樺偍銆1銆丷EAL 鏁版嵁绫诲瀷 REAL鏁版嵁绫诲瀷鍙簿纭埌绗7 浣嶅皬鏁帮紝鍏惰寖鍥翠负浠-3.40E -38 鍒3.40E +38銆 姣忎釜REAL绫诲瀷鐨鏁版嵁鍗犵敤4 涓瓧鑺傜殑瀛樺偍绌洪棿銆2銆丗LOAT FLOAT...
绛旓細璁板緱鏄痗har
绛旓細nchar 缁熶竴缂栫爜瀛楃鍨 nchar 鏁版嵁绫诲瀷鐢ㄦ潵瀛樺偍瀹氶暱缁熶竴缂栫爜瀛楃鍨嬫暟鎹傜粺涓缂栫爜鐢ㄥ弻瀛楄妭缁撴瀯鏉ュ瓨鍌ㄦ瘡涓瓧绗︼紝鑰屼笉鏄敤鍗曞瓧鑺(鏅氭枃鏈腑鐨勬儏鍐)銆傚畠鍏佽澶ч噺鐨勬墿灞曞瓧绗︺傛鏁版嵁绫诲瀷鑳藉瓨鍌4000绉嶅瓧绗︼紝浣跨敤鐨勫瓧鑺傜┖闂翠笂澧炲姞浜嗕竴鍊 nvarchar 缁熶竴缂栫爜瀛楃鍨 nvarchar 鏁版嵁绫诲瀷鐢ㄤ綔鍙橀暱鐨勭粺涓缂栫爜瀛楃鍨嬫暟鎹傛...
绛旓細濡傛灉鎻掑叆鏁版嵁鏃舵彃鍏ョ殑鍊肩殑澶у皬鍦╯mallint鎴栬卼inyint鑼冨洿涔嬪唴锛 Sql Server 浼氳嚜鍔ㄥ皢绫诲瀷杞崲涓簊mallint 鎴栬卼inyint锛岃繖鏍蜂竴鏉ワ紝鍦ㄥ瓨鍌ㄦ暟鎹椂锛屽崰鐢ㄧ殑瀛樺偍绌洪棿鍙湁int鐨1/2鎴栧垯1/4銆係ql Server鏁版嵁搴撶鐞嗙郴缁涓殑鏁版嵁绫诲瀷鍙互鍒嗕负涓ょ被锛屽垎鍒槸锛氱郴缁熼粯璁ょ殑鏁版嵁绫诲瀷鍜岀敤鎴疯嚜瀹氫箟鐨勬暟鎹被鍨嬨
绛旓細鍦ㄨ嚜瀹氫箟鏁版嵁绫诲瀷閲岋紝寤虹珛鑷畾涔夋暟鎹被鍨嬶紝鍚嶇О姣斿鍙玒esOrNo 绫诲瀷涓簄char锛岄暱搴︿负1 鐒跺悗鍒拌鍒欓噷鏂板缓瑙勫垯锛屽悕绉版瘮濡傚彨YesOrNo_rule,鍦ㄨ鍒欑殑鏂囨湰妗嗛噷杈撳叆 value in ('鏄','鍚') 銆傜劧鍚庝綘灏卞彲浠ュ湪琛ㄧ殑璁捐妯″紡閲岄夎繖涓嚜瀹氫箟绫诲瀷浜嗐侾S锛氳閿欎簡锛屽簲璇ュ厛寤虹珛瑙勫垯锛岀劧鍚庡啀寤虹珛鑷畾涔鏁版嵁绫诲瀷鐨鏃跺...
绛旓細鏄彉闀垮瓧绗︽暟鎹,鍏堕暱搴︿笉瓒呰繃 8KB銆侰har 鏄畾闀垮瓧绗︽暟鎹,鍏堕暱搴︽渶澶氫负 8KB銆傝秴杩 8KB 鐨凙SCII 鏁版嵁鍙互浣跨敤Text鏁版嵁绫诲瀷瀛樺偍銆備緥濡,鍥犱负 Html 鏂囨。鍏ㄩ儴閮芥槸 ASCII 瀛楃,骞朵笖鍦ㄤ竴鑸儏鍐典笅闀垮害瓒呰繃 8KB,鎵浠ヨ繖浜涙枃妗e彲浠 Text 鏁版嵁绫诲瀷瀛樺偍鍦SQL Server 涓(3)Unicode 鏁版嵁绫诲瀷 Unicode 鏁版嵁绫诲瀷鍖呮嫭 Nchar,...
绛旓細SQL瀛楃绫诲瀷浠嬬粛 涓锛屽悕璇嶅畾涔 char涓 瀹氶暱瀛楃鍨嬶紝濡俢har(10)锛屼綘瀹為檯鏁版嵁鏄榟ello鈥欙紝杩欐椂Sql Server 浼氳嚜鍔ㄨˉ鍏呯┖鏍硷紝濉弧10浣嶃倂archar锛氬彲鍙橀暱瀛楃锛屾病鏈変笂杩伴棶棰橈紝鏄闀垮氨淇濆瓨澶氶暱鐨勬暟鎹傚彟澶, char 鍜 varchar 鍦ㄥ瓨鍌ㄦ暟鎹椂,姣忎釜鑻辨枃瀛楃鍜屾暟瀛楅兘鍗犱竴涓瓧鑺,鑰屼竴涓腑鏂囩殑瀛楃浼氬崰涓や釜...
绛旓細绛旀鍥虹劧鏄疉.瀹為檯涓粷瀵逛細鐢╲archar(20),鍥犱负鍥芥爣鏄20byte,鐢╲archar鍐欎唬鐮佸氨涓嶉渶瑕佽薄char涓鏍疯繕瑕乼rim浜.