2009-08-07 15 views
2

J'utilise SQL Server 2008 Enterprise. Je veux exporter le résultat de la requête dans un fichier CSV à partir de SQL Server Management Studio. Le problème est que le fichier csv par défaut est une virgule (',') séparée pour chaque colonne de résultat dans chaque ligne exportée, et je veux la séparer '\ t' car une virgule existe dans certaines des valeurs de colonne de résultat.Exporter les résultats de la requête dans le problème de fichier CSV dans SQL Server

Des solutions rapides?

merci à l'avance, George

Répondre

5

Si vous voulez vraiment le séparateur \ t écrire une requête comme celui-ci

select 
    Cast(PersonCode as varchar(50)) + '\t' 
    + Cast(PersonReference as varchar(50))  
from People 

les moulages sont juste Incase vous ne travaillez pas avec les types varchar, mais vous ne les avez pas besoin si vous êtes. Exécutez cette requête avec les résultats en texte et collez simplement le résultat dans le bloc-notes ou similaire.

+1

Vous n'avez même pas besoin de coller. En utilisant les résultats dans la grille, faites un clic droit et sauvegardez les résultats en utilisant tous les fichiers comme type de fichier pour vous permettre d'enregistrer en tant que fichier txt ou ce que vous voulez. –

+1

@ Mark Dickinson: n'est-ce pas ce que j'ai dit dans ma réponse ?! :) –

+1

Ne fonctionne pas pour moi puisque j'ai le type binaire si le cas n'est pas utilisé. Voici le message d'erreur. Ma question supplémentaire, si je jette binaire à varchar, puis rejette, est-il assuré que la valeur originelle de binary est restaurée? Msg 402, niveau 16, état 1, ligne 1 Les types de données nvarchar et varbinary (max) sont incompatibles dans l'opérateur add. – George2

5

Lorsque vous cliquez sur « Enregistrer sous » et vous êtes invité à entrer un nom de fichier, menu déroulant ci-dessous le nom du fichier et sélectionnez « Texte (délimité par des tabulations) »

+0

Merci, cela fonctionne dans SQL Server 2008, et j'ai essayé dans SQL Server 2005 une telle fonctionnalité? – George2

-1

Il enregistre uniquement le 1er enregistrement en tant que délimité par des tabulations. Je n'arrive pas à comprendre comment il sélectionnera toutes les lignes de la section des résultats de l'analyseur de requêtes.

+0

Lorsque vous enregistrez le jeu de résultats de cette manière, il enregistre uniquement les lignes sélectionnées. Faites un clic droit, sélectionnez tout. –

Questions connexes