首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL -大容量插入和数据类型

SQL -大容量插入和数据类型
EN

Stack Overflow用户
提问于 2012-10-24 12:36:56
回答 1查看 3K关注 0票数 3

今天,我有一个从固定宽度文件中进行的大容量插入,如下所示:

代码语言:javascript
复制
BULK INSERT #TBF8DPR501
FROM 'C:\File.txt' WITH (
        FORMATFILE = 'C:\File.txt.xml'
        ,ROWTERMINATOR = '\n'
        )

格式文件只是设置每个字段的宽度,在批量插入到临时表之后,我使用一个INSERT INTO X SELECT FROM temp来转换一些大容量无法转换的列。

我的问题是,是否有可能使大容量插入能够转换值,例如:

  • dd.MM.yyyyddMMyyyy格式的日期
  • 像这个0000000000010022那样的十进制值(其中它是100.22)

而不需要将大容量插入到临时表中来转换值?

EN

回答 1

Stack Overflow用户

发布于 2012-10-24 14:30:04

不,它不是:BULK INSERT只是尽可能快地复制数据,它不以任何方式转换数据。当前使用临时表的解决方案是数据仓库和报表场景中非常常见的解决方案,因此,如果它按您希望的方式工作,我将继续使用它。

如果您确实希望在加载期间执行转换,则可以使用ETL工具(如SSIS )。但是,您当前的方法没有什么问题,SSIS将是一个非常“沉重”的替代方案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13049373

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档