如何把文本里的876行记录
'07 10 12 20 21',
'05 08 13 14 32',
'15 21 22 24 27',
'01 11 19 30 32',
'11 17 19 20 34',
'06 17 18 25 29',
'05 14 23 25 28',
'07 12 26 30 32',
'05 10 17 23 25',
'04 09 11 30 32',
'03 07 20 27 32',
'10 12 17 23 27',
'09 12 16 19 35',
'06 07 09 17 24',
'02 03 15 28 35',
'01 04 21 22 24',
'08 19 27 29 34',
'14 18 20 24 27',
'05 08 24 29 30',
'07 11 21 22 35',
'03 13 14 22 26',
'02 10 16 18 34',
'01 02 12 19 35',
'01 12 20 21 24',
'03 05 14 30 35',
'04 10 13 18 23',
'08 24 26 31 32',
'06 10 23 26 31',
'02 15 29 30 34',
'02 04 09 28 29',
'20 32 33 34 35',
'12 14 16 19 25',
'04 09 24 30 35',
'09 17 21 28 29',
'02 03 12 13 25',
'03 11 17 21 30',
'19 20 30 33 35',
'11 15 22 27 35',
'04 15 19 24 35',
'10 14 29 30 35',
变成一行记录
'07 10 12 20 21','05 08 13 14 32','15 21 22 24 27','01 11 19 30 32','11 17 19 20 34','06 17 18 25 29','05 14 23 25 28','07 12 26 30 32','05 10 17 23 25','04 09 11 30 32','03 07 20 27 32','10 12 17 23 27','09 12 16 19 35','06 07 09 17 24','02 03 15 28 35','01 04 21 22 24','08 19 27 29 34','14 18 20 24 27','05 08 24 29 30','07 11 21 22 35','03 13 14 22 26','02 10 16 18 34','01 02 12 19 35','01 12 20 21 24','03 05 14 30 35','04 10 13 18 23','08 24 26 31 32','06 10 23 26 31','02 15 29 30 34','02 04 09 28 29','20 32 33 34 35','12 14 16 19 25','04 09 24 30 35','09 17 21 28 29','02 03 12 13 25','03 11 17 21 30','19 20 30 33 35','11 15 22 27 35','04 15 19 24 35','10 14 29 30 35',

解决方案 »

  1.   

    先把文本导入到一个临时表TB的字段col中。declare @sql varchar(1000)
    set @sql = ''
    select @sql = @sql + t.col + ',' from (select col from tb) as t
    set @sql='select result = ''' + left(@sql , len(@sql) - 1) + ''''
    exec(@sql)
      

  2.   

    declare @s varchar(8000)
    select 
      @s=isnull(@s,'')+f1+','
    from 
      OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Text;HDR=NO;Database=d:\;','SELECT * FROM [test#txt]')select @s/**
    '07 10 12 20 21','05 08 13 14 32','15 21 22 24 27','01 11 19 30 32','11 17 19 20 34','06 17 18 25 29','05 14 23 25 28','07 12 26 30 32','05 10 17 23 25','04 09 11 30 32','03 07 20 27 32','10 12 17 23 27','09 12 16 19 35','06 07 09 17 24','02 03 15 28 35','01 04 21 22 24','08 19 27 29 34','14 18 20 24 27','05 08 24 29 30','07 11 21 22 35','03 13 14 22 26','02 10 16 18 34','01 02 12 19 35','01 12 20 21 24','03 05 14 30 35','04 10 13 18 23','08 24 26 31 32','06 10 23 26 31','02 15 29 30 34','02 04 09 28 29','20 32 33 34 35','12 14 16 19 25','04 09 24 30 35','09 17 21 28 29','02 03 12 13 25','03 11 17 21 30','19 20 30 33 35','11 15 22 27 35','04 15 19 24 35','10 14 29 30 35',
    **/
      

  3.   


    假设你的文本在d:\test.txt里,参考3楼
      

  4.   

    消息 15281,级别 16,状态 1,第 2 行
    SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 'Ad Hoc Distributed Queries'。有关启用 'Ad Hoc Distributed Queries' 的详细信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器"。 
      

  5.   

    --启用Ad Hoc Distributed Queries:
    exec sp_configure 'show advanced options',1
    reconfigure
    exec sp_configure 'Ad Hoc Distributed Queries',1
    reconfigure--使用完成后,关闭Ad Hoc Distributed Queries:
    exec sp_configure 'Ad Hoc Distributed Queries',0
    reconfigure
    exec sp_configure 'show advanced options',0
    reconfigure 
      

  6.   

    agree如果数据量不大都不用找,现成的SSMS编辑器就支持正则替换
    数据量大#3的select可能显示不完
      

  7.   


    直接editplus -> ctrl+ h -> 查找内容:\n -> 替换内空:空 -> 勾上正则表达式 -> 全部替换 -> OK........
      

  8.   

    直接notepad++ -> ctrl+h -> 查找内容:\r\n -> 替换内容:空 -> 勾上扩展 -> 全部替换!!!
      

  9.   


    Vim: 直接按键ggVGgJ,搞定。
      

  10.   

    i like vim.试试14F 的方式。
      

  11.   


    这里有个文本编辑器的学习曲线:
    像UE、EmEditor、EditPlus、Notepad++,学习曲线都和那个Pico类似,不过功能强的曲线高些,功能弱的曲线低些。
    VIM的话,个人感觉没有图上那么陡,一个“厂”字形状可能更贴切。
    VS和Emacs的两个图则包含了很多调侃的成分。
      

  12.   

    具体的步骤:
    打开SQL2005连接服务器 -> 新建查询 ->把待处理的数据复制粘贴进来
    '07 10 12 20 21',
    '05 08 13 14 32',
    '15 21 22 24 27',
    '01 11 19 30 32',
    '11 17 19 20 34',
    '06 17 18 25 29',
    '05 14 23 25 28',
    '07 12 26 30 32',
    '05 10 17 23 25',
    '04 09 11 30 32',
    '03 07 20 27 32',
    '10 12 17 23 27',
    '09 12 16 19 35',
    '06 07 09 17 24',
    '02 03 15 28 35',
    ......
    ......
    ->  ctrl+ h 
    -> 查找内容:\n 
    -> 替换内空:空 
    -> 勾上正则表达式 
    -> 全部替换完成以上步骤就可以得到你想要的结果
      

  13.   

    最简单就是在excel里>选择性粘贴》转置(这样就把行转成列了)》然后合并列。ok
      

  14.   

    Emacs不出,似乎不会有比VIM更快的操作。不过即使Emacs出了,个人认为VIM也不会输。
      

  15.   

    pl/sql 使用17楼的方法可以实现