将YYYYMM格式的日期批量插入MS SQL表中的日期字段 [英] bulk insert a date in YYYYMM format to date field in MS SQL table

查看:178
本文介绍了将YYYYMM格式的日期批量插入MS SQL表中的日期字段的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个大文本文件(超过3亿条记录)。有一个包含YYYYMM格式的日期的字段。目标字段是日期类型,我正在使用MS SQL 2008 R2服务器。由于数据量巨大,我宁愿使用批量插入。
这是我已经完成的操作:

I have a large text file (more than 300 million records). There is a field containing date in YYYYMM format. Target field is of date type and I'm using MS SQL 2008 R2 server. Due to huge amount of data I'd prefer to use bulk insert. Here's what I've already done:

bulk insert Tabela_5
from 'c:\users\...\table5.csv'
with
(
    rowterminator = '\n',
    fieldterminator = ',',
    tablock
)
select * from Tabela_5

201206 原来是服务器上的 2020-12-06 ,而我希望它是 2012-06-01 (我不在乎这一天)。
是否可以将这种格式的日期批量插入日期类型的字段中?

201206 in file turns out to be 2020-12-06 on server, whereas I'd like it to be 2012-06-01 (I don't care about the day). Is there a way to bulk insert date in such format to a field of date type?

亲切的问候
maciej pitucha

kind regards maciej pitucha

推荐答案

批量插入无法执行此操作。您有2个选择。

There isn't a way to do this on Bulk Insert. You have 2 options.


  1. 将日期插入varchar字段,然后运行查询以将
    的日期转换为DateTime字段

  2. 使用SSIS

这篇关于将YYYYMM格式的日期批量插入MS SQL表中的日期字段的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆