在sql2005中显示image类型的数据 已经将word文档中的内容,保存到image类型的字段中,但是现在显示的二进制的代码,请高手指教如何将内容显示出来? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你需要先了解image类型的含义. declare @t table ([name] image)insert @t select '你好!'select * from @tselect cast(cast([name] as binary) as varchar(8000)) from @t/*(影響 1 個資料列)name ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 0xA741A66E21(影響 1 個資料列) ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 你好!(影響 1 個資料列)*/ 使用 Text 和 Image 数据 Microsoft SQL Server 2005 将超过 8,000 个字符的字符串和大于 8,000 字节的二进制数据存储为名为 text 和 image 的特殊数据类型。超过 4,000 个字符的 Unicode 字符串存储为 ntext 数据类型。例如,您需要将一个大型客户信息文本文件 (.txt) 导入 SQL Server 数据库。应将这些数据作为一个数据块存储起来,而不是集成到数据表的多个列中。为此,可以创建一个 text 数据类型的列。但是,如果必须存储公司徽标,它们当前存储为标记图像文件格式 (TIFF) 图像 (.tif) 且每个图像的大小为 10 KB,则可以创建一个 image 数据类型的列。如果要存储的文本数据是 Unicode 格式,那么应使用 ntext 数据类型。例如,一个为国际客户创建的套用信函很可能包含用于各种不同语言的国际拼写和字符。这种数据应存储在 ntext 列中。每个 text 和 ntext 数据值都具有排序规则。排序规则定义各种属性,例如比较规则以及是否区分大小写或重音。text 值的排序规则还指定了代码页,代码页定义用于表示每个字符的位模式。每个 ntext 值均使用对所有排序规则都相同的 Unicode 代码页。每个数据库都有默认的排序规则。当创建 text 或 ntext 列时,除非使用 COLLATE 子句指定了特定的排序规则,否则将为其指定数据库的默认排序规则。当组合或比较两个具有不同排序规则的 text 或 ntext 值时,根据排序规则的优先规则来确定操作所使用的排序规则。image 数据中的数据被存储为位串,SQL Server 不对其进行解释。对 image 列中的数据的任何解释都必须由应用程序来完成。例如,应用程序可以用 BMP、TIFF、GIF 或 JPEG 格式将数据存储在 image 列中。从 image 列中读取数据的应用程序必须能够识别数据的格式并正确显示数据。image 列所做的全部工作就是提供一个位置,以存储组成图像数据值的位流。使用行中的文本存储 text、ntext 和 image 值通常情况下,text、ntext 或 image 字符串是存储在数据行外的大型(最高可达 2 GB)字符或二进制字符串。数据行只包括一个 16 字节的文本指针,该指针指向一个树的根节点,该树由映射存储串片段的页的内部指针构成。使用 SQL Server,可将中小型 text、ntext 和 image 值存储在一个数据行中,从而提高查询访问这些值的速度。当 text、ntext 或 image 字符串存储在数据行中时,SQL Server 无须访问单独的页或页集合来读写这些字符串。这使得对 text、ntext 或 image 行内字符串的读取几乎与对 varchar、nvarchar 或 varbinary 字符串的读取一样快。若要在数据行中存储 text、ntext 或 image 字符串,必须先使用 sp_tableoption 存储过程启用 text in row 选项。 复制代码 sp_tableoption N'MyTable', 'text in row', 'ON' 也可以为数据行中存储的 text、ntext 和 image 字符串指定一个最大长度限制(从 24 到 7000 字节): 复制代码 sp_tableoption N'MyTable', 'text in row', '1000' 如果指定的是 ON 而不是一个特定的限制,则此限制的默认值为 256 字节。此默认值提供绝大部分性能好处:它足够大,保证小型字符串和根文本指针可以存储在行中;但又不是太大,致使每页的行数减少到影响性能的程度。尽管通常情况下不应将此值设置为小于 72,但也不应设置得太大,特别是对大部分语句不引用 text、ntext, 和 image 列的表,或者有多个 text、ntext 和 image 列的表。 也可以使用 sp_tableoption 关闭此选项:即将选项值指定为 OFF 或 0。 复制代码 sp_tableoption N'MyTable', 'text in row', 'OFF' 一般来说,需要转换,将二进制文件转为char,varchar,nvarchar等类型. 如何创建 image 类型的字段 麻烦各位高手与大版帮我看一下老问题. 一个动态SQL问题 SQL Server 的小疑问 各位, 好久没有来了, 问个问题。。。。。。 关于数据集的问题..急啊,急死人拉 MSSQL SERVER导出数据到ACCESS出现的问题 请教SQL SERVER复制中的问题 请教高手:本人使用触发器无法更新其他数据库中相关记录,但是可以增加,删除,请问如何处理。 删除数据库记录出差,原因如下: 安装sql2000时每处理器认证和每客户认证是怎么回事, 关于一条SQL语句,小弟就是搞搞,没那么高深,希望朋友帮忙 sql server 2008执行sqlservr.exe是出错
insert @t select '你好!'
select * from @t
select cast(cast([name] as binary) as varchar(8000)) from @t
/*
(影響 1 個資料列)name
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
0xA741A66E21(影響 1 個資料列)
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
你好!(影響 1 個資料列)*/
通常情况下,text、ntext 或 image 字符串是存储在数据行外的大型(最高可达 2 GB)字符或二进制字符串。数据行只包括一个 16 字节的文本指针,该指针指向一个树的根节点,该树由映射存储串片段的页的内部指针构成。使用 SQL Server,可将中小型 text、ntext 和 image 值存储在一个数据行中,从而提高查询访问这些值的速度。当 text、ntext 或 image 字符串存储在数据行中时,SQL Server 无须访问单独的页或页集合来读写这些字符串。这使得对 text、ntext 或 image 行内字符串的读取几乎与对 varchar、nvarchar 或 varbinary 字符串的读取一样快。若要在数据行中存储 text、ntext 或 image 字符串,必须先使用 sp_tableoption 存储过程启用 text in row 选项。 复制代码
sp_tableoption N'MyTable', 'text in row', 'ON'
也可以为数据行中存储的 text、ntext 和 image 字符串指定一个最大长度限制(从 24 到 7000 字节): 复制代码
sp_tableoption N'MyTable', 'text in row', '1000'
如果指定的是 ON 而不是一个特定的限制,则此限制的默认值为 256 字节。此默认值提供绝大部分性能好处:它足够大,保证小型字符串和根文本指针可以存储在行中;但又不是太大,致使每页的行数减少到影响性能的程度。尽管通常情况下不应将此值设置为小于 72,但也不应设置得太大,特别是对大部分语句不引用 text、ntext, 和 image 列的表,或者有多个 text、ntext 和 image 列的表。 也可以使用 sp_tableoption 关闭此选项:即将选项值指定为 OFF 或 0。 复制代码
sp_tableoption N'MyTable', 'text in row', 'OFF'