【问题标题】:SQL Bulk importSQL 批量导入
【发布时间】:2013-10-29 02:02:12
【问题描述】:

我有一个运行良好的简单批量导入脚本

BULK
INSERT tablename
FROM 'd:\www\ftp\test.csv'
  WITH
  (
  KEEPIDENTITY,
  FIELDTERMINATOR = ',',
  ROWTERMINATOR = '\n',
  ERRORFILE = 'd:\www\ftp\test7.log' 
  )
GO

现在在 test.csv 文件中有如下值:

Bike, Red, "100,00", Blue
Step, Blue, "60,40", Black

我的问题是如何处理脚本中的“100,00”(“xxx,xx”)值?

谢谢!

【问题讨论】:

标签: sql sql-server


【解决方案1】:

将记录插入临时表,然后执行类似的操作.. 以获得结果,然后您可以将行添加到所需的表中。这是您的 CSV 文件


您可以执行以下操作将其插入临时表。

Create Table #Temp
(
Product NVARCHAR(50),
Colour NVARCHAR(50),
Number NVARCHAR(50),
Spare NVARCHAR(50),
Colour1 NVARCHAR(50)
)
GO

BULK
INSERT #Temp
FROM 'C:\Users\ali\Desktop\test.csv'
  WITH
  (
  FIELDTERMINATOR = ',',
  ROWTERMINATOR = '\n'
  )
GO

UPDATE #Temp
SET Number = Number + ',' + Spare

ALTER TABLE #temp
DROP Column Spare

UPDATE #Temp
SET Number = REPLACE(Number, '"', '') 

SELECT * FROM #Temp

结果集

SELECT * INTO [Destination_Table] FROM #Temp
DROP TABLE #Temp

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-06
    • 1970-01-01
    • 2012-08-19
    • 1970-01-01
    • 1970-01-01
    • 2017-12-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多