Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

SQL Server BCP Export où virgule dans le champ SQL

Si un champ que vous exportez peut contenir le caractère que vous utilisez pour délimiter les champs de votre fichier, vos choix sont :

  1. Utilisez un délimiteur différent - cela semble être le moyen le plus simple. Utilisez simplement "|" ou "~" comme délimiteur. Effectuez un remplacement global de "," par "|" dans le fichier de format avec à peu près n'importe quel éditeur de texte. Il n'est pas clair pourquoi il serait difficile de modifier "l'ensemble" du fichier. Peut-être avez-vous un destinataire du fichier qui a besoin d'être délimité par des virgules ?

  2. Si vous devez utiliser des virgules comme délimiteur, vous devez modifier votre délimiteur de colonne de virgule (,) à guillemet-virgule-guillemet (","). Pour ce faire, vous devez utiliser le caractère d'échappement pour que le programme BCP ignore les guillemets que vous souhaitez utiliser comme délimiteurs dans le fichier de sortie afin qu'il ne les considère pas comme les guillemets qu'il comprend pour contenir le délimiteur dans le fichier de format . Alors...

Au lieu de ","... utilisez... "\",\""

Cela se traduira par ce qui suit

col1,col2,"col,3",col4

Pour col1, le délimiteur est :, pour le représenter dans le fichier de format, utilisez : ","

Pour col2, le délimiteur est : ," pour représenter ce format de fichier, utilisez :",\""

Pour col3, le délimiteur est :", pour le représenter dans le fichier de format, utilisez :"\","

Pour col4, le délimiteur est :, pour le représenter dans le format de fichier, utilisez : ","

J'espère que cela aide.