我正在使用管道分隔的CSV,其中某些记录由于其提取方式而在其中一列中有回车符。SSMS - 将CSV文件读入表
实施例:
Jane|Ward|3 |1 |1 |0 |0 |||3210007
Sam|Anderson|4 |1 |1 |0 |0 |||3210008
Andy|Smithson |1 |1 |0 |0 |0 ||
|
Henry|Johnson |1 |1 |1 |0 |1 |Elementary School||900196
Mary|Smith |2 |1 |1 |0 |0 |||97 Ford
Chris|Jones |3 |1 |1 |0 |0 |||900341
Allen|Bender |1 |33fg5 |asdd3 |0 |0 ||
|
Amy|Peterson|3 |1 |1 |0 |0 |||3210007
这些记录都具有10列,所以每个具有9个管道。在这个例子中,Andy Smithson和Allen Bender的记录在第9栏中有回车。如果有任何记录确实有回车,他们将永远在第9栏。
我已经想通过在Notepad ++中使用正则表达式来“清理”记录,但是我正在处理一个具有近70k行的文件,所以我想尽可能多地自动执行此操作很明显,可能。
有没有办法以某种方式将这样的文件读入表中?
我会在SSMS 2008及更高版本的版本中这样做。
[编辑] 我在SSMS导入向导中试过这个。它不会以这种方式工作,因为每行都以CRLF结尾(如记事本++中所示),所以向导无法区分具有CRLF的行需要保留在记录中还是实际上是记录的结尾。
你甚至谷歌呢? –
@ rory.ap - 是的。如果您可以将我指向一个可以帮助我的网站,请这么做! – marky
查看BULK INSERT命令。 – EMUEVIL