本帖最后由 So_CooL 于 2011-03-23 09:58:17 编辑

解决方案 »

  1.   

    使用bcp 把字段终止符设为 空格符即可。刚才好像发过吧.
      

  2.   


    BULK INSERT newtable(...)
       FROM 'D:.../.../*.txt'
       WITH 
          (
             FIELDTERMINATOR =' ',
             ROWTERMINATOR ='\n'
          )
      

  3.   

    BULK INSERT newtable(...)
    和向导导入都不准确。
    要将记录拆分成11列插入到表对应的11个字段中
      

  4.   

    create table test (chr(chr) varchar(1000))
    insert into test values(
    '123456789序号        急诊医学科243986程里        015902ZZZZZZZZZZZZZZZ一般物理降温                  次  ')insert into test values(
    '123456789            急诊医学科243986程里        000108X00041650100010注射用头孢西丁钠              支  ') 
    create function f_getstr(@str varchar(1000))
    returns varchar(1000)
    begin
         declare @str1 varchar(1000)
         set @str1=''
         set @str=rtrim(ltrim(@str))
         while charindex(' ',@str)>0
          begin
               set @str1=@str1+'.'+left(@str,charindex(' ',@str)-1)
               set @str=ltrim(right(@str,len(@str)-charindex(' ',@str)))
          end
         return stuff(@str1,1,1,' ')+'.'+@str
    end
    select parsename(dbo.f_getstr(chr),4) as a,parsename(dbo.f_getstr(chr),3) as b,
          parsename(dbo.f_getstr(chr),2) as c,parsename(dbo.f_getstr(chr),1) as d
    from testdrop function f_getstr/*
    a               b                           c                                               d               
    --------------- --------------------------- ----------------------------------------------- --------------
     123456789序号    急诊医学科243986程里               015902ZZZZZZZZZZZZZZZ一般物理降温               次    
     123456789      急诊医学科243986程里               000108X00041650100010注射用头孢西丁钠           支