Wenn Sie reduzieren Sie die Breite auf 20, es wird nicht breit genug für die Standard - TIMESTAMP oder TIMESTAMP WITH TIME ZONE - format. Wenn das passiert, SQLPlus wird wickeln Sie den Wert.
Davon aus Tabelle b hat timestamp-Spalte TS:
COLUMN ts FORMAT A20
SELECT ts FROM b;
TS
--------------------25-APR-13 11.28.40.150000 AM
Zur Senkung der Breite noch weiter entscheiden, welche Informationen Sie möchten und formatieren Sie Sie entsprechend. Die Oracle-DateTime-und Timestamp Formatierung codes aufgeführt sind hier.
Beachten Sie, dass SQLPlus lassen Sie nicht geben Sie ein Datum-format mit der COLUMN - Anweisung. Das ist, warum ich verwendet FORMAT A20 oben. Sie bekommen es zu 19 Zeichen, wenn Sie drop-in Bruchteilen von Sekunden und verwenden Sie eine 24-Stunden-Uhr anstelle von AM/PM, und legen Sie die Zeitzone:
COLUMN TSFormatted FORMAT A20
SELECT TO_CHAR(ts,'MM/DD/YYYY HH24:MI:SS')AS TSFormatted FROM b;
TSFORMATTED
--------------------04/25/201311:28:40
Wenn Sie bereit sind, fallen die Jahrhunderts, die Sie bekommen können zwei der in Bruchteilen von Sekunden und die genaue Breite von 20:
COLUMN TSFormatted FORMAT A20
SELECT TO_CHAR(ts,'MM/DD/YY HH24:MI:SS.FF2')AS TSFormatted from b;
TSFORMATTED
--------------------04/25/1311:28:40.15
Schließlich, wenn Sie wollen alle Ihre Zeitstempel werden automatisch formatiert in einer bestimmten Weise zu verwenden ALTER SESSION:
ALTER SESSION SET NLS_TIMESTAMP_FORMAT ='MM/DD/YY HH24:MI:SS.FF2';COLUMN ts FORMAT A20
SELECT ts from b;-- don't need to_char because of the default format
TS
--------------------04/25/1311:28:40.15
Hervorragende Antwort. Ich habe tatsächlich realisiert 20 zu klein war, und fand, dass 30 war auch in Ordnung. jedoch, Sie haben einige gute Methoden gibt, die ich auch. PS, wenn jemand könnte mir ein paar mehr Ruf Punkte konnte ich vote für Antworten, da ich gerade beigetreten und was nicht alles noch. Cheers. Dies ist hilfreich, aber ich verstehe nicht, warum "SPALTE ts-FORMAT A20" ist erforderlich, nach dem alter session. Gibt es einen Weg, um Zeitstempel für die Anzeige in 20-Zeichen-session-Breite unabhängig von dem format? Sorry @sf_jeff, aber ich antwortete, dass das so lange her, ich erinnere mich nicht genau, warum ich in die COLUMN ts... bit. Ich denke, vielleicht war es, nach Hause zu fahren den Punkt, dass die A20 zusammen mit der Standard-Formatierung (erstes Beispiel in meiner Antwort), aber nicht nach der Einstellung der neuen timestamp-format. Was auch immer der Grund, können Sie auf jeden Fall lassen Sie es aus.
SUBSTR-Funktion funktioniert einige der Zeit,sobald Sie konvertiert den timestamp (ie. to_CHAR), aber die Angabe einer Spalte in sqlplus gibt Ihnen mehr Kontrolle:
Ich sagen einige Zeit für substr, als ich gesehen habe, sqlplus abgeschnitten, die Ausgabe, aber dann noch pad die Ausgabe bis zu der definierten Größe der Spalte.
Ja, danke. Nach der Abfrage mit "COLUMN column_name FORMAT A30 WORD_WRAPPED /" das problem Gelöst. Gerne helfen - konnte Sie bis upvote die Antwort bitte in diesem Fall? Hi, ich würde das tun, aber ich bin neu und er sagt es nicht, hab keinen Ruf! Wollen, werfen mir einen Knochen und ich werde gehen 🙂
Wenn Sie reduzieren Sie die Breite auf 20, es wird nicht breit genug für die Standard -
TIMESTAMP
oderTIMESTAMP WITH TIME ZONE
- format. Wenn das passiert, SQLPlus wird wickeln Sie den Wert.Davon aus Tabelle
b
hat timestamp-SpalteTS
:Zur Senkung der Breite noch weiter entscheiden, welche Informationen Sie möchten und formatieren Sie Sie entsprechend. Die Oracle-DateTime-und Timestamp Formatierung codes aufgeführt sind hier.
Beachten Sie, dass SQLPlus lassen Sie nicht geben Sie ein Datum-format mit der
COLUMN
- Anweisung. Das ist, warum ich verwendetFORMAT A20
oben. Sie bekommen es zu 19 Zeichen, wenn Sie drop-in Bruchteilen von Sekunden und verwenden Sie eine 24-Stunden-Uhr anstelle von AM/PM, und legen Sie die Zeitzone:Wenn Sie bereit sind, fallen die Jahrhunderts, die Sie bekommen können zwei der in Bruchteilen von Sekunden und die genaue Breite von 20:
Schließlich, wenn Sie wollen alle Ihre Zeitstempel werden automatisch formatiert in einer bestimmten Weise zu verwenden
ALTER SESSION
:Dies ist hilfreich, aber ich verstehe nicht, warum "SPALTE ts-FORMAT A20" ist erforderlich, nach dem alter session. Gibt es einen Weg, um Zeitstempel für die Anzeige in 20-Zeichen-session-Breite unabhängig von dem format?
Sorry @sf_jeff, aber ich antwortete, dass das so lange her, ich erinnere mich nicht genau, warum ich in die
COLUMN ts...
bit. Ich denke, vielleicht war es, nach Hause zu fahren den Punkt, dass dieA20
zusammen mit der Standard-Formatierung (erstes Beispiel in meiner Antwort), aber nicht nach der Einstellung der neuen timestamp-format. Was auch immer der Grund, können Sie auf jeden Fall lassen Sie es aus.InformationsquelleAutor Ed Gibbs
SUBSTR-Funktion funktioniert einige der Zeit,sobald Sie konvertiert den timestamp (ie. to_CHAR), aber die Angabe einer Spalte in sqlplus gibt Ihnen mehr Kontrolle:
zB:
SPALTE GEHALT-FORMAT $99,990
Quelle:
http://docs.oracle.com/cd/B19306_01/server.102/b14357/ch6.htm
Ich sagen einige Zeit für substr, als ich gesehen habe, sqlplus abgeschnitten, die Ausgabe, aber dann noch pad die Ausgabe bis zu der definierten Größe der Spalte.
Gerne helfen - konnte Sie bis upvote die Antwort bitte in diesem Fall?
Hi, ich würde das tun, aber ich bin neu und er sagt es nicht, hab keinen Ruf! Wollen, werfen mir einen Knochen und ich werde gehen 🙂
InformationsquelleAutor marceljg