bcp导入数据疑问

32757487 2003-10-16 05:07:45
有一文本文件,每行一条纪录,各段之间用空格分开,但每段之间空格数不统一,有的是一个,有的是两个...
在导入时,指定段分割符为一个空格,则多出来的空格就被倒成一个字段。
如果不修改空格数为统一,如何让bcp正确导入各字段?
...全文
42 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
---涛声依旧--- 2003-10-16
  • 打赏
  • 举报
回复
將要導入的數據導出到文本文件時﹐字段間最好不要用空格分隔﹐用","或"|"分隔比較好,例如﹕從CIM中生成一文本文件(假設用"|"分隔),
在导入时,指定段分割符選用"|"﹐即可正确导入各字段;
若該文本文件里的數據沒法重新生成的話﹐則用seashoreboy(海滨)的方法比較好
changechange 2003-10-16
  • 打赏
  • 举报
回复
非常简单,用查找替换功能把所有两个空格替换为1个即可
seashoreboy 2003-10-16
  • 打赏
  • 举报
回复
你可以通过ultraedit预处理,处理方法如下:
1.选一个特殊符号,保证原文件中无该符号
2.用替换功能,将两个空格替换为该特殊符号
3.然后用两个特殊符号替换成一个特殊符号
4.递归3步骤

最后字段间的分隔符都为该特殊符号了。
32757487 2003-10-16
  • 打赏
  • 举报
回复
大力的思路好,但,多出来的空格会被bcp认成一个字段,而不会成为下一个字段的一部分,

该如何对付?
gmlxf 2003-10-16
  • 打赏
  • 举报
回复
你将文本文件先将多余的空格去掉统一后,再用bcp导入
32757487 2003-10-16
  • 打赏
  • 举报
回复
哇,上万条,又导入excel删空格,搞死人哦
我还是notepad自己多替换几道得了

谢谢.....
pengdali 2003-10-16
  • 打赏
  • 举报
回复
不能,你先导到一个临时表,再用rtrim()或ltrim()去掉空格。
zjcxc 元老 2003-10-16
  • 打赏
  • 举报
回复
不能保证.

可以考虑用EXCEL来处理,删除字段之间多余的空格,再导入.

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧