eg:a 是一nText字段,现在想取出里面的内容,
如果按照下面的写法肯定不行。Select a From tale1 Where .....
///////////////////////////////
第一次用2005,不知道该如何解决这样的问题。
解决方案 »
- 有了 primary key , 还需要复合索引吗 ?
- SQL2005 怎么突然CPU达到100% 并且库中一个表读不出数据,其它表能读出 服务器重启了还是一样
- 刚才问题已结贴,另求教 邹建及各高手 一个问题,谢谢!
- 想实现记录集的合并,请求高手指教~~
- 奇了怪了
- 疑难 问题。
- 大大改进的短信群发商务通,有兴趣当来看看提意见啊,好的送源码!
- 1105:未能为数据库 'db_huihis' 中的对象 'T_流水号' 分配空间,因为文件组 'PRIMARY' 已满。
- 请教:怎么在储存过程里面返回记录集(recordset)
- 各位高手小女子想学数据库但不知该学哪种好,希望各位指点指点。
- ‖SQL‖提问
- 请教,一个A+B填充C字段的简单问题?!!!
读取 text、ntext 或 image 列中的 text、ntext 或 image 值,从指定的偏移量开始读取指定的字节数。语法
READTEXT { table.column text_ptr offset size } [ HOLDLOCK ] 参数
table.column是从中读取的表和列的名称。表名和列名必须符合标识符的规则。必须指定表名和列名,不过可以选择是否指定数据库名称和所有者名称。text_ptr有效文本指针。text_ptr 必须是 binary(16)。offset开始读取 text、image 或 ntext 数据之前跳过的字节数(使用 text 或 image 数据类型时)或字符数(使用 ntext 数据类型时)。使用 ntext 数据类型时,offset 是在开始读取数据前跳过的字符数。使用 text 或 image 数据类型时,offset 是在开始读取数据前跳过的字节数。 size是要读取数据的字节数(使用 text 或 image 数据类型时)或字符数(使用 ntext 数据类型时)。如果 size 是 0,则表示读取了 4 KB 字节的数据。HOLDLOCK使文本值一直锁定到事务结束。其他用户可以读取该值,但是不能对其进行修改。
下例读取 pub_info 表中 pr_info 列的第 2 个至第 26 个字符。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
USE pubs
SELECT pub_id, SUBSTRING(logo, 1, 10) AS logo,
SUBSTRING(pr_info, 1, 10) AS pr_info
FROM pub_info
WHERE pub_id = '1756'
所以可以直接取Select SUBSTRING(a, 1, 10) AS a From tale1 Where ..... 另外如果用Sql2005可以考虑用nvarchar(max)取代现有的nText数据类型
----------------
是要把该字段里面的所有内容都取出来,又不是只取那里面的部分内容2)用nvarchar(max)???
----------------
那max写多少呢?4000?
insert into tb values('10001')
insert into tb values('10002')
goselect * from tbdrop table tb/*
id
-----
10001
10002(所影响的行数为 2 行)
*/
insert into tb values('10001')
insert into tb values('10002')
goselect id = cast(id as varchar) from tbdrop table tb/*
id
-----
10001
10002(所影响的行数为 2 行)
*/
LZ用的是 2005 的 Management Studio 可是你连上的是SqlServer2005的数据库实例吗?如果是那么这个nvarchar(max)数据类型是没有问题的,可以如果连上的其实还是Sql2000的数据库实例那么是会报你提示的错误的,LZ第一次用Sql2005有些地方要注意一下
nvarchar(max)是Sql2005里面新增的一种数据类型,它可以取代 ntext
varchar(max)取代 text
varbinary(max)取代 image