Chinaunix首页 | 论坛 | 博客
  • 博客访问: 101919070
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-04-14 19:43:35

     来源:赛迪网    作者:limeinan

其中,of del表示导出到的文件的类型,在本例中导出到一个非定界文本文件中;后面的select * from org是一个SQL语句,该语句查询出来的结果就是要导出的数据。

实例2:改变del格式文件的格式控制符

export to c:\staff.txt of del modified 
by coldel$ chardel'' decplusblank select * from staff

在该例中,modified子句用于控制各种符号,coldel表示字段之间的间隔符,默认情况为逗号,现在改为$号;chardel表示字符串字段用什么符号引用,默认情况下为一对双引号括起来,现在改为用一对单引号括起来;decplusblank表示对于十进制数据类型,用空格代替最前面的加号,因为默认情况下会在十进制数据前面加上正负号的。

实例3:以ASC格式将数据导出到文件

Export命令是不支持ASC格式文件的,所以如果想导出ASC这样规整的格式,需要程序员自己进行转换操作,思路是将各种数据类型都转换成定长字符串,然后把各个要导出的字段合并成为一个字段。

例如创建如下结构的表n:

create table n(a int,b date,c time,
d varchar(5),e char(4),f double)

然后插入两条数据:

insert into n values
(15,'2004-10-21','23:12:23','abc','hh',35.2) 
insert into n values
(5,'2004-1-21','3:12:23','bc','hhh',35.672)

要想把这两条数据以规整的格式导出到文件中,进行如下操作:

export to c:\test.txt of del select char(a) 
|| char(b) || char(c) || char(d,5) || e || 
char(f) as tmp from n

这样导出的结果与ASC格式的文件非常类似,只是每一行的前后多出了一对双引号,对此我们可以使用文本工具(如写字板、记事本等)把双引号删除掉,也可以置之不理,在以后导入的时候直接控制格式(忽略双引号)

在文件中的格式为:

"15 2004-10-2123.12.23abc hh 3.52E1 " 
"5 2004-01-2103.12.23bc hhh 3.5672E1 "

实例4:大数据的导出

export to d:\myfile.del of del lobs to d:\lob\ lobfile lobs modified by lobsinfile select * from emp_photo

该命令把emp_photo表的数据导出到d:\myfile.del文件中,其结果为:

"000130","bitmap","lobs.001.0.43690/"   
"000130","gif","lobs.001.43690.29540/"   
"000130","xwd","lobs.001.73230.45800/"   
"000140","bitmap","lobs.001.119030.71798/"   
"000140","gif","lobs.001.190828.29143/"   
"000140","xwd","lobs.001.219971.73908/"   
"000150","bitmap","lobs.001.293879.73438/"   
"000150","gif","lobs.001.367317.39795/"   
"000150","xwd","lobs.001.407112.75547/"   
"000190","bitmap","lobs.001.482659.63542/"   
"000190","gif","lobs.001.546201.36088/"   
"000190","xwd","lobs.001.582289.65650/
阅读(396) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~