具有唯一日期值的BULK IMPORT数据

时间:2015-03-19 14:12:16

标签: sql-server

我最初从csv文件中获取数据。对于给定的ID,我不能有重复的日期。我喜欢做的是添加随机秒数,因此它是唯一的。我下面的方法不起作用,因为所有日期都有随机秒,而我需要的是每个记录都有一个独特的秒。任何帮助都会有所帮助。在导入时添加随机日期会很不错。

    CREATE TABLE #TBL (dt DateTime, id int);

    BULK INSERT #TBL FROM 'C:\Import\file1.csv' WITH (FIELDTERMINATOR = ',');

 // This updated all date fields to the same seconds. I want each individual row to have a random seconds field.

    UPDATE #TBL 
    SET #TBL.dt = DATEADD(second,(rand()*60), #TBL.dt); 

1 个答案:

答案 0 :(得分:0)

快捷方式

UPDATE #TBL 
  SET #TBL.dt = DATEADD(second,(#TBL.id), #TBL.dt);

只要您一次不导入超过86,400条记录。 (一天中的秒数) 这假设id从0开始,如果这不是真的,这将变得更加混乱。无论如何随机都无法解决你的问题,它可能会不止一次地提出相同的值。你正在挖一个大洞落入这里。