Używam BULK INSERT
do importowania pliku CSV. Jedna z kolumn w pliku CSV zawiera wartości zawierające ułamki (np. 1m½f
).Znaki specjalne wyświetlane niepoprawnie po wstawieniu BULK INSERT
Nie muszę wykonywać żadnych operacji matematycznych we frakcjach, ponieważ wartości będą używane tylko do celów wyświetlania, więc ustawiłem kolumnę jako nvarchar
. Numer BULK INSERT
działa, ale gdy przeglądam rekordy w SQL, część została zamieniona na symbol centowy (¢
), więc wyświetlany tekst to 1m¢f
.
Chciałbym zrozumieć, dlaczego tak się dzieje i wszelkie przemyślenia dotyczące rozwiązania tego problemu. Komenda BULK INSERT
jest:
BULK INSERT dbo.temp FROM 'C:\Temp\file.csv'
WITH (FIELDTERMINATOR = ',', ROWTERMINATOR = '\n');
Czy dane zawierają dosłownie znak połówkowy? – Melanie
Tak, zawiera znak ½ w przeciwieństwie do 1/2. – MrMatt
@AaronBertrand, większość Insert: 'code' masowy wstawić dbo.temp z 'C: \ temp \ FILE.CSV' Z (FIELDTERMINATOR = '', ROWTERMINATOR = '\ n'); \t Kolacja to Latin1_General_CI_AS. Jak sprawdzić, czy plik jest oznaczony jako Unicode? – MrMatt