首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

怎样把中间以不定空格为间隔符的TXT数据文件导入Sql Server中?该怎么处理

2012-01-19 
怎样把中间以不定空格为间隔符的TXT数据文件导入Sql Server中?从纯真网络上下的IP库,解压成txt文件后,数据

怎样把中间以不定空格为间隔符的TXT数据文件导入Sql Server中?
从纯真网络上下的IP库,解压成txt文件后,数据格式如下:
0.0.0.0                   0.255.255.255       IANA     CZ88.NET
1.0.0.0                   1.255.255.255       IANA     CZ88.NET
2.0.0.0                   2.255.255.255       IANA     CZ88.NET
3.0.0.0                   3.255.255.255       美国   新泽西通用电气公司
4.0.0.0                   4.10.255.255         美国     CZ88.NET
4.11.0.0                 4.11.255.255         美国   夏威夷
4.12.0.0                 4.19.77.255           美国     CZ88.NET
4.19.78.0               4.19.78.255           美国   西南政法大学
4.19.79.0               4.19.79.63             美国   Armed   Forces   Radio/Television
4.19.79.64             4.21.177.111         美国     CZ88.NET
4.21.177.112         4.21.177.127         美国   Kraft   Group
4.21.177.128         4.21.177.255         美国   南新汉普郡学院
4.21.178.0             4.36.124.127         美国     CZ88.NET
4.36.124.128         4.36.124.255         美国   Technical   Resource   Connections   Inc
4.36.125.0             4.36.127.255         美国   坦帕大学
4.36.128.0             4.37.215.255         美国     CZ88.NET
4.37.216.0             4.37.219.255         美国   德克萨斯女子大学
4.37.220.0             4.41.60.255           美国     CZ88.NET
4.41.61.0               4.41.61.255           美国   EARTHLINK公司
4.41.62.0               4.43.68.255           美国     CZ88.NET
4.43.69.0               4.43.69.95             美国   罗斯门特学院
三个字段以不定空格为间隔符,但是也不能把空格替换成别的,因为ip所属地区有空格,这样的数据怎么导入Sql   Server中呀?直接导入时候必须选择间隔符,所一些上述数据就被认为一个字段。
但是导入Access中没有问题,可以选择固定宽度,把地区的宽度弄长一些就可以了。
呵呵,不要告诉我:先导入   Access中,然后再导入Sql   Server中。


[解决办法]
先作为一个字段 COL1 导入数据库中的中间表 MID ,然后用substring()函数来取数据:

insert into 目标表(...)
select
rtrim(left(COL1 ,16)) as 起始IP,
rtrim(substring(COL1,17,16)) as 截至IP,
stuff(COL1,1,32, ' ') as 地区信息描述
from
MID
[解决办法]
直接dts都可以啊

设定为固定间隔的字段就可以了
[解决办法]
RTRIM()!应该用这个吧,要是会编程的话可以现将数据转换一下
[解决办法]


子陌出手了啊...嘿嘿!~

看你上面贴出来的数据,根据字符栏位来取成列就成了(每列的长度是固定的),然后再去左右的空格..刚看到,子陌已经顶了。

热点排行