text与ntext的区别
2个回答
展开全部
text和ntext的区别?- -
今天在asp中执行sql语句是发生了一点问题,就是text编码问题,大概text类型对编码的支持有点问题,改成ntext就可以了............
也就是说,我们不是要注意在数据库表中"Text" 或"ntext" 类型的字段排在最后,而是要注意"SELECT" 子句中"Text" 或"ntext" 类型的字段排在最后。如果有一列以上的"Text" 或"ntext" 类型的字段,要注意它们在数据库表中的顺序。
ntext
可变长度 Unicode 数据的最大长度为 230 - 1 (1,073,741,823) 个字符。存储大小是所输入字符个数的两倍(以字节为单位)。ntext 在 SQL-92 中的同义词是 national text。
text
服务器代码页中的可变长度非 Unicode 数据的最大长度为 231-1 (2,147,483,647) 个字符。当服务器代码页使用双字节字符时,存储量仍是 2,147,483,647 字节。存储大小可能小于 2,147,483,647 字节(取决于字符串)。
今天在asp中执行sql语句是发生了一点问题,就是text编码问题,大概text类型对编码的支持有点问题,改成ntext就可以了............
也就是说,我们不是要注意在数据库表中"Text" 或"ntext" 类型的字段排在最后,而是要注意"SELECT" 子句中"Text" 或"ntext" 类型的字段排在最后。如果有一列以上的"Text" 或"ntext" 类型的字段,要注意它们在数据库表中的顺序。
ntext
可变长度 Unicode 数据的最大长度为 230 - 1 (1,073,741,823) 个字符。存储大小是所输入字符个数的两倍(以字节为单位)。ntext 在 SQL-92 中的同义词是 national text。
text
服务器代码页中的可变长度非 Unicode 数据的最大长度为 231-1 (2,147,483,647) 个字符。当服务器代码页使用双字节字符时,存储量仍是 2,147,483,647 字节。存储大小可能小于 2,147,483,647 字节(取决于字符串)。
展开全部
管理
ntext、text
和
image
数据
Microsoft®
SQL
Server™
的
ntext、text
和
image
数据类型在单个值中可以包含非常大的数据量(最大可达
2
GB)。单个数据值通常比应用程序在一个步骤中能够检索的大;某些值可能还会大于客户端的可用虚拟内存。因此,在检索这些值时,通常需要一些特殊的步骤。
如果
ntext、text
和
image
数据值不超过
Unicode
串、字符串或二进制串的长度(分别为
4,000
个字符、8,000
个字符和
8,000
个字节),就可以在
SELECT、UPDATE
和
INSERT
语句中引用它们,其引用方式与较小的数据类型相同。例如,包含短值的
ntext
列可以在
SELECT
语句的选择列表中引用,这与
nvarchar
列的引用方式相同。引用时必须遵守一些限制,例如不能在
WHERE
子句中直接引用
ntext、text
或
image
列。这些列可以作为返回其它数据类型(例如
ISNULL、SUBSTRING
或
PATINDEX)的某个函数的参数包含在
WHERE
子句中,也可以包含在
IS
NULL、IS
NOT
NULL
或
LIKE
表达式中。
处理较大的数据值
但是,如果
ntext、text
和
image
数据值较大,则必须逐块处理。Transact-SQL
和数据库
API
均包含使应用程序可以逐块处理
ntext、text
和
image
数据的函数。
数据库
API
按照一种通用的模式处理长
ntext、text
和
image
列:
若要读取一个长列,应用程序只需在选择列表中包含
ntext、text
或
image
列,并将该列绑定到一个程序变量,该变量应足以容纳适当的数据块。然后,应用程序就可以执行该语句,并使用
API
函数或方法将数据逐块检索到绑定的变量中。
若要写入一个长列,应用程序可使用参数标记
(?)
在相应位置代替
ntext、text
或
image
列中的值,以执行
INSERT
或
UPDATE
语句。参数标记(对
ADO
而言则为参数)被绑定到一个足以容纳数据块的程序变量上。应用程序进入循环,在循环中先将下一组数据移到绑定的变量中,然后调用
API
函数或方法写入数据块。这一过程将反复进行,直到整个数据值发送完毕。
ntext、text
和
image
数据
Microsoft®
SQL
Server™
的
ntext、text
和
image
数据类型在单个值中可以包含非常大的数据量(最大可达
2
GB)。单个数据值通常比应用程序在一个步骤中能够检索的大;某些值可能还会大于客户端的可用虚拟内存。因此,在检索这些值时,通常需要一些特殊的步骤。
如果
ntext、text
和
image
数据值不超过
Unicode
串、字符串或二进制串的长度(分别为
4,000
个字符、8,000
个字符和
8,000
个字节),就可以在
SELECT、UPDATE
和
INSERT
语句中引用它们,其引用方式与较小的数据类型相同。例如,包含短值的
ntext
列可以在
SELECT
语句的选择列表中引用,这与
nvarchar
列的引用方式相同。引用时必须遵守一些限制,例如不能在
WHERE
子句中直接引用
ntext、text
或
image
列。这些列可以作为返回其它数据类型(例如
ISNULL、SUBSTRING
或
PATINDEX)的某个函数的参数包含在
WHERE
子句中,也可以包含在
IS
NULL、IS
NOT
NULL
或
LIKE
表达式中。
处理较大的数据值
但是,如果
ntext、text
和
image
数据值较大,则必须逐块处理。Transact-SQL
和数据库
API
均包含使应用程序可以逐块处理
ntext、text
和
image
数据的函数。
数据库
API
按照一种通用的模式处理长
ntext、text
和
image
列:
若要读取一个长列,应用程序只需在选择列表中包含
ntext、text
或
image
列,并将该列绑定到一个程序变量,该变量应足以容纳适当的数据块。然后,应用程序就可以执行该语句,并使用
API
函数或方法将数据逐块检索到绑定的变量中。
若要写入一个长列,应用程序可使用参数标记
(?)
在相应位置代替
ntext、text
或
image
列中的值,以执行
INSERT
或
UPDATE
语句。参数标记(对
ADO
而言则为参数)被绑定到一个足以容纳数据块的程序变量上。应用程序进入循环,在循环中先将下一组数据移到绑定的变量中,然后调用
API
函数或方法写入数据块。这一过程将反复进行,直到整个数据值发送完毕。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询