大家好!问题如下:
有一个表table1,表有几列(title varchar, time DateTime,Place varchar,dsc varchar). 表数据例如:
客户拜访  2007-1-1  中山北路375  重要客户拜访1
客户拜访  2007-1-1  中山北路376  重要客户拜访2
客户拜访  2007-1-1  中山北路377  重要客户拜访3要求将表中数据连接后返回一个字符串,记录分隔符:<@>  字段分隔符:<|>客户拜访<|>2007-1-1<|>中山北路375<|>重要客户拜访1<@>客户拜访<|>2007-1-1<|>中山北路376<|>重要客户拜访2<@>客户拜访<|>2007-1-1<|>中山北路377<|>重要客户拜访3在线等,谢谢啦!

解决方案 »

  1.   

    --创建测试环境
    create table table1(title varchar(20), time DateTime,Place varchar(20),dsc varchar(20))--插入测试数据
    insert table1(title,time,Place,dsc)
    select '客户拜访','2007-1-1','中山北路375','重要客户拜访1' union all
    select '客户拜访','2007-1-1','中山北路376','重要客户拜访2' union all
    select '客户拜访','2007-1-1','中山北路377','重要客户拜访3'--求解过程declare @str varchar(8000) set @str = ''select @str = @str + title +'<|>'+ convert(varchar(20),time,120)+'<|>'+Place +'<|>'+dsc +'<@>' from table1
    select @str = left(@str,len(@str)-3)
    select @str--删除测试环境
    drop table table1/*--测试结果
    客户拜访<|>2007-01-01 00:00:00<|>中山北路375<|>重要客户拜访1<@>客户拜访<|>2007-01-01 00:00:00<|>中山北路376<|>重要客户拜访2<@>客户拜访<|>2007-01-01 00:00:00<|>中山北路377<|>重要客户拜访3(所影响的行数为 1 行)
    */
      

  2.   

    --创建测试环境
    create table table1(title varchar(20), time DateTime,Place varchar(20),dsc varchar(20))--插入测试数据
    insert table1(title,time,Place,dsc)
    select '客户拜访','2007-1-1','中山北路375','重要客户拜访1' union all
    select '客户拜访','2007-1-1','中山北路376','重要客户拜访2' union all
    select '客户拜访','2007-1-1','中山北路377','重要客户拜访3'--求解过程declare @str varchar(8000) set @str = ''select @str = @str + title +'<|>'+ convert(varchar(10),time,120)+'<|>'+Place +'<|>'+dsc +'<@>' from table1
    select @str = left(@str,len(@str)-3)
    select @str--删除测试环境
    drop table table1/*--测试结果
    客户拜访<|>2007-01-01 00:00:00<|>中山北路375<|>重要客户拜访1<@>客户拜访<|>2007-01-01 00:00:00<|>中山北路376<|>重要客户拜访2<@>客户拜访<|>2007-01-01 00:00:00<|>中山北路377<|>重要客户拜访3(所影响的行数为 1 行)
    */
      

  3.   

    --楼上的结果是这个
    客户拜访<|>2007-01-01<|>中山北路375<|>重要客户拜访1<@>客户拜访<|>2007-01-01<|>中山北路376<|>重要客户拜访2<@>客户拜访<|>2007-01-01<|>中山北路377<|>重要客户拜访3(所影响的行数为 1 行)