Search code examples
sql-servert-sqlsql-server-2008-r2bulkdate-formatting

bulk insert a date in YYYYMM format to date field in MS SQL table


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 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?

kind regards maciej pitucha


Solution

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

    1. Insert the date as into a varchar field then run a query to convert the date into a DateTime field
    2. Use SSIS