Comment faire de Microsoft BCP d'exportation chaîne vide à la place d'un NUL char?
Je travaillais à essayer d'obtenir ce bcp outil de travail d'une manière particulière. Le commutateur-c est censé exportation à l'aide de caractères, mais pour quelque raison il y avait un drôle de char montrant dans Notepad++ comme si c'était UNICODE ou une autre mise en forme.
Je voulais obtenir ce char, qui était une chaîne Vide dans la base de données, à l'exportation comme une chaîne vide dans le fichier texte. Comment faites-vous cela?
Question similaire, Pourquoi bcp de sortie null si la colonne contient une chaîne vide chaîne vide lorsque la colonne est null?.
OriginalL'auteur mimoralea | 2012-09-25
Vous devez vous connecter pour publier un commentaire.
Bien, après avoir cherché partout sur le web, c'est ce que j'ai trouvé. Pensé à le mettre dans le plus de gens ont accès.
http://www.techtalkz.com/microsoft-sql-server/147106-how-export-empty-strings-via-bcp.html
Solution:
Simplement enrouler autour d'une
NULLIF
que le champ peut être vide dans la base de données et faire attraper''
et de le remplacer avecNULL
. Qui seront converties en ^^les valeurs de^^^^de plus les valeurs^^et de plus^^ donc, vous obtenez le double de séparation avec un vide à la place du caractère NUL.E. g.:
Espère que cela aide quelqu'un.
Quel interrupteur est qui? Pour export
OriginalL'auteur mimoralea
Juste un suivi...
La
NULLIF
solution ci-dessus fonctionne très bien dans Microsoft SQL, mais pour plus de solution standard qui fonctionne dans presque n'importe quelle Base de données, vous devriez essayer deCOALESCE
.La syntaxe est très similaire:
En réalité, se rejoignent à l'opposé de ce qui est nécessaire dans ce cas. Nous avons besoin d'identifier les valeurs null et le remplacer par un "'
c'est ce que je pensais, mais quand j'ai changé de
coalesce
ànullif
ils null sortie a été remplacé par une chaîne videOriginalL'auteur D3Young