BULK INSERT
を使用してCSVファイルをインポートしています。 CSVファイルの列の1つに、端数を含む値が含まれています(例:1m½f
)。BULK INSERTの後に特殊文字が正しく表示されない
数値は表示目的で使用されるので、分数に対して何らかの演算を行う必要はないので、列をnvarchar
と設定しました。 BULK INSERT
が機能しますが、SQL内のレコードを見ると、小数部はセントシンボル(¢
)に置き換えられているので、表示されるテキストは1m¢f
です。
私は、これがなぜ起こっているのか、そして問題の解決方法についての考えを理解することに興味があります。 BULK INSERT
コマンドは次のとおりです。あなたは、SQL ServerのコードページにWindowsコードページからの文字列データを変換しCODEPAGE = 'ACP'
を、使用してBULK INSERT
に必要
BULK INSERT dbo.temp FROM 'C:\Temp\file.csv'
WITH (FIELDTERMINATOR = ',', ROWTERMINATOR = '\n');
データには文字通り半角文字が含まれていますか? – Melanie
はい、1/2とは異なり、半分の文字が含まれています。 – MrMatt
@AaronBertrand、一括挿入は: FROM 'code' 一括挿入dbo.temp 'C:\の一時\のfile.csvになり' (FIELDTERMINATOR = ''、ROWTERMINATOR = '\ n')WITH。 \t 照合順序はLatin1_General_CI_ASです。 ファイルがUnicodeとしてマークされているかどうかを確認するにはどうすればよいですか? – MrMatt