Tôi đang sử dụng BULK INSERT
để nhập tệp CSV. Một trong các cột trong tệp CSV chứa một số giá trị chứa phân số (ví dụ: 1m½f
).Các ký tự đặc biệt hiển thị không chính xác sau khi SỐ LƯỢNG LỚN INSERT
Tôi không cần thực hiện bất kỳ phép toán nào trên các phân số, vì các giá trị sẽ chỉ được sử dụng cho mục đích hiển thị, vì vậy tôi đã đặt cột là nvarchar
. BULK INSERT
hoạt động nhưng khi tôi xem các bản ghi trong SQL phần đã được thay thế bằng một ký hiệu cent (¢
) để văn bản được hiển thị là 1m¢f
.
Tôi muốn biết tại sao điều này xảy ra và bất kỳ suy nghĩ nào về cách giải quyết vấn đề. Lệnh BULK INSERT
là:
BULK INSERT dbo.temp FROM 'C:\Temp\file.csv'
WITH (FIELDTERMINATOR = ',', ROWTERMINATOR = '\n');
Dữ liệu có nghĩa đen chứa ký tự một nửa không? – Melanie
Có, nó chứa ký tự as trái ngược với 1/2. – MrMatt
@AaronBertrand, Chèn hàng loạt là: 'code' BULK INSERT dbo.temp TỪ 'C: \ Temp \ file.csv' VỚI (FIELDTERMINATOR = '', ROWTERMINATOR = '\ n'); \t Collation là Latin1_General_CI_AS. Làm cách nào để kiểm tra xem tệp có được đánh dấu là Unicode không? – MrMatt