时间:2021-07-01 10:21:17 帮助过:121人阅读
前两天用sqlserver的BCP命令导入数据,其中列分隔符为[!] 行分隔符为[end],由于两个字符有特殊意义,需要转义,查询资料后,发现BCP转义的前缀很不易样,为^.。详细命令如下 BCP [database].dbo.[table] in C:\dataimp3\table.txt.out -t ^[!]^ -r^[end]^ -
前两天用sqlserver的BCP命令导入数据,其中列分隔符为<[!]> 行分隔符为<[end]>,由于<>两个字符有特殊意义,需要转义,查询资料后,发现BCP转义的前缀很不易样,为^.。详细命令如下
BCP [database].dbo.[table] in C:\dataimp3\table.txt.out -t ^<[!]^> -r ^<[end]^> -c -b 15000 -S 192.168.49.121 -U sa -P password
还有一种解决方案,把所有含特殊字符的字段加上双引号
BCP [database].dbo.[table] in "C:\dataimp3\table.txt.out" -t "<[!]>" -r "<[end]>" -c -b 15000 -S 192.168.49.121 -U sa -P password
可以用0x0A表示linux的换行\n