Comment formater Oracle SQL texte-sélectionner uniquement de sortie
Je suis à l'aide de Oracle SQL (dans SQLDeveloper, donc je n'ai pas accès aux commandes SQLPLUS, telles que les COLONNES) d'exécuter une requête qui ressemble à quelque chose comme ceci:
select assigner_staff_id as staff_id, active_flag, assign_date,
complete_date, mod_date
from work where assigner_staff_id = '2096';
Les résultats il me donner ressembler à quelque chose comme ceci:
STAFF_ID ACTIVE_FLAG ASSIGN_DATE COMPLETE_DATE MOD_DATE ---------------------- ----------- ------------------------- ------------------------- ------------------------- 2096 F 25-SEP-08 27-SEP-08 27-SEP-08 02.27.30.642959000 PM 2096 F 25-SEP-08 25-SEP-08 25-SEP-08 01.41.02.517321000 SUIS 2 lignes sélectionnées
Cela peut très facilement produire un très large et difficile à manier textuelle rapport quand je suis en train de coller les résultats dans un bien mis en forme rapide-n-sale bloc de texte dans un e-mail ou un problème de rapport, etc. Quelle est la meilleure façon de se débarrasser de tous tha espace blanc dans les colonnes de sortie quand je suis juste en utilisant la plaine-vanille Oracle SQL? Jusqu'à présent, toutes mes recherches sur le web n'ai pas tourné beaucoup, tout comme le web, les résultats de la recherche sont en me montrant comment le faire en utilisant les commandes de formatage comme COLONNE dans SQLPLUS (je n'en ai pas).
OriginalL'auteur Ogre Psalm33 | 2008-09-27
Vous devez vous connecter pour publier un commentaire.
Ce qu'utilisez-vous pour obtenir les résultats? La sortie que vous avez collé dirait qu'il vient de SQL*PLUS. Il se peut que quel que soit l'outil que vous utilisez pour générer les résultats d'une méthode de modification de la sortie.
Par défaut d'Oracle sorties colonnes basées sur la largeur du titre ou de la largeur de la colonne de données qui est toujours plus large.
Si vous voulez faire des colonnes plus petites, vous devez les renommer ou de les convertir en texte et utiliser substr() pour effectuer les valeurs par défaut plus petits.
OriginalL'auteur Thomas Jones-Low
Dans votre déclaration, vous pouvez spécifier le type de sortie que vous recherchez:
il y a d'autres formats tels que xml, html, texte, chargeur, etc.
Vous pouvez modifier la mise en forme de ces options dans outils > préférences > Base de données > Utilitaires > Export
Assurez-vous de choisir Exécuter le Script plutôt que de Courir Déclaration.
* c'est pour Oracle SQL Developer v3.2
OriginalL'auteur Jim Clouse
Ce que vous pouvez faire avec sql est limité par votre outil. SQL Plus a des commandes pour formater les colonnes, mais ils ne sont pas réels facile à utiliser.
Une approche rapide est de coller le résultat dans excel et le format de il y ou de il suffit de fixer la feuille de calcul. Certains outils seront enregistrer la sortie directement en tant que feuille de calcul.
OriginalL'auteur
Belle question. J'ai vraiment eu à y penser.
Une chose que vous pourriez faire est de changer votre SQL afin qu'il ne retourne le plus étroit utilisable colonnes.
par exemple (je ne suis pas très chaud sur oracle syntaxe, mais quelque chose de similaire devrait fonctionner):
Cela fait-il sens?
Si vous faisiez cela unix/linux, je vous suggère de courir à partir de la ligne de commande et de la tuyauterie par l'intermédiaire d'un script awk.
Si j'ai incompris, alors s'il vous plaît mettre à jour votre question et je vais avoir un autre aller 🙂
OriginalL'auteur AJ.
Si vous n'avez pas beaucoup de lignes retournées je vais souvent utiliser Tom Kytes print_table fonction.
Si ses un grand nombre de lignes, je vais juste faire la requête dans SQL Developer et l'enregistrer aux formats xls, businessy types d'amour excel pour une raison quelconque.
OriginalL'auteur Matthew Watson
Pourquoi ne pas simplement utiliser la "fonte" de la fonction?
OriginalL'auteur Bubba