比如DiaryLeaderIdea字段是text类型,如果里面原先有内容的话,我执行下面的:
update Diary set DiaryLeaderIdea='你好'+cast(DiaryLeaderIdea as varchar(8000)) where DiaryID=6025可以正常在原先内容上面添加。
但是!如果原来DiaryLeaderIdea里面是空的,执行上面的语句的话,也执行了,不出错,就是没有把数据添加进去,还是空的里面。奇怪了!
请大侠支招儿!

解决方案 »

  1.   

    update Diary set DiaryLeaderIdea='你好'+cast(isnull(DiaryLeaderIdea ,'') as varchar(8000)) where DiaryID=6025   ?
      

  2.   

    如果大于8000字节,需要用UPDATETEXT如果是SQL05以上版本用varchar(max)类型代替,用WRITE处理
    举个例子如下:
    DECLARE @ TABLE(c TEXT)
    INSERT @
    SELECT NULL
    UPDATE a SET c='你好'+ISNULL(CAST(c AS VARCHAR(8000)),'') FROM @  AS aUPDATE a SET c=CASE WHEN c IS NULL THEN '你好' ELSE CAST(c AS VARCHAR(8000))+'你好' end FROM @  AS a
    SELECT * FROM @