--创建调试环境
if object_id('tbl_t') is null
print 'not exists'
else
drop table tbl_t
create table tbl_t
(
t_t text
)
insert into tbl_t values('123,345')
insert into tbl_t values('123,3456')
select * from tbl_t where t_t like'%123,345%'
--删除表
drop table tbl_t
--结果:
/*(所影响的行数为 1 行)
(所影响的行数为 1 行)t_t                                                                                                                                                                                                                                                              
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 
123,345
123,3456(所影响的行数为 2 行)
*/

解决方案 »

  1.   

    谢谢回复,也许是我没表达好;我想表达的是不断向一个字段追加数据(不覆盖),前提是不知道这个字段原来的内容;我知道用text数据类型的指令可以实现,但似乎太麻烦了,又要用地址指针@p 又要加参数;我想有没简单可行的指令可以实现
      

  2.   

    TRY
    create table t1 (a text)
    insert t1
    select '123456'select * from t1declare @a varchar(50)
    select @a =cast(a as varchar(50)) from t1
    select @a=@a+'789'
    update t1 
    set a=@aselect * from t1
      

  3.   

    这样吧,我把问题具体些吧 有这样一个表  ID    item(数据类型text)
                                       001    001,002,003.......
    左边是用户ID ,右边是他拥有的物品,现在用SQL语句实现将物品编号为010的物品放到里面,如何实现.: internetcsdn说的应该可以实现,我想是否有更简单的语句实现,我想做个asp管理,谢谢大家帮忙
      

  4.   

    楼主:
    你想得到怎样的结果啊?是不是这样?create table t1 (b varchar(10),a text)
    insert t1
    select '010','123456'select * from t1update t1
    set a=cast(a as varchar(10))+b
    drop table t1
      

  5.   

    select * from t1
    /*
    b           a
    ----------------
    010 123456010
    */
      

  6.   

    不更新也可create table t1 (b varchar(10),a text)
    insert t1
    select '010','123456'select * from t1--update t1
    --set a=cast(a as varchar(10))+bselect *,bb=(cast(a as varchar(10))+b) from t1drop table t1
      

  7.   

    internetcsdn谢谢你的回答,我明白你的意思,你是创建临时表格,将text转为varchar  ;思路很好,不过你没看到我下面写的实例? select '010','123456'  这句是什么意思?还有 123456是哪来的? 请用ID判断字段位置,且不知道字段内容
      

  8.   

    insert t1
    select '010','123456'
    union all select '020','654321'
    union all ..这是对表格插入数据的一种写法啊.
      

  9.   

    select 也就是"取值"的意思吧
      

  10.   

    呵呵,不好意思,初学SQL只知道insert 插入数据; "物品编号为010的物品放入" 右边不是物品编号吗? 比如001代表苹果 002代表香蕉 .......现在要把代号为010的物品放到item字段,已知对应人物ID 为001(为怕混肴改为00A 也行) 且不知道item字段具体内容,如何实现?
      

  11.   

    "物品"是用ID,ITEM之外的字段来表示的吧?你的意思是不是把"物品"字段与item字段的值合起来放在item字段里组成新值的意思啊?比如
    id   物品   item
    ----------------
    010  苹果   123456
    020  香蕉   654321合成后得
    id   物品   item
    -----------------
    010  苹果   123456苹果   
    020  香蕉   654321香蕉   如果是的话,
    上面的语句可以实现的啊
    如果不是,
    就以上面的形式给数据吧
      

  12.   

    Declare  @p varbinary(16)
    Select  @p=textptr(item)  from  表名(uplock)  where id='00A’
    If  @p is not null
    Updatetext  表名.item  @p  null 0  with  log “,010”我所说的要求,这样可以实现,我想问问是否还有简单些的语句可以实现,如果你不明白我说的意思,上面的语句的意思应该明白?
      

  13.   

    明白,
    但只能说SORRY等高手吧.
      

  14.   

    Declare  @p varbinary(16)
    Select  @p=textptr(item)  from  表名(uplock)  where id='00A’
    If  @p is not null
    Updatetext  表名.item  @p  null 0  with  log “,010”
    没办法,SQL中对text字段的处理就是类似这样,没有什么简便的方法,如果你嫌那样写烦,可以封装成存储过程
      

  15.   

    呵呵,不过仍要谢谢你internetcsdn,我只是想做个asp来管理.里面用到SQL语句,所以想尽量精练些;不过现在我已经用asp语句实现了;一小时后结贴,没人给出更好答案,50分就给internetcsdn了