0

私は正常に動作している単純な一括インポート スクリプトを持っています。

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") の値をどのように処理できますか?

ありがとう!

4

1 に答える 1

1

レコードを一時テーブルに挿入し、次のようなことを行います..結果を取得してから、目的のテーブルに行を追加できます.これがCSVファイルです

CSV_FILE


次のようにして一時テーブルに挿入できます。

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
于 2013-10-20T16:54:05.967 に答える