Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

SQL Server BCP Export onde vírgula no campo SQL


Se um campo que você está exportando puder conter o caractere que você está usando para delimitar os campos em seu arquivo, suas opções são:

  1. Use um delimitador diferente - esse parece ser o caminho mais fácil. Basta usar "|" ou "~" como seu delimitador. Faça uma substituição global de "," para "|" no arquivo de formato com praticamente qualquer editor de texto. Não está claro por que seria difícil modificar "o arquivo inteiro". Talvez você tenha um destinatário do arquivo que requer delimitado por vírgulas?

  2. Se você precisar usar vírgulas como delimitador, deverá alterar o delimitador de coluna de vírgula (,) para aspas-vírgulas-aspas (","). Para fazer isso, você precisa usar o caractere de escape para fazer com que o programa BCP ignore as aspas que você deseja usar como delimitadores no arquivo de saída, para que ele não pense nelas como as aspas que entende conter o delimitador no arquivo de formato . Então...

Em vez de ","... use... "\",\""

Isso resultará no seguinte

col1, col2, col,3, col4

Para col1 o delimitador é:, para representar isso no formato de arquivo use:","

Para col2 o delimitador é:," para representar isso no formato de arquivo use:",\""

Para col3 o delimitador é:", para representar isso no arquivo de formato use:"\","

Para col4 o delimitador é:, para representar isso no formato de arquivo use:","

Espero que isso ajude.