Konvertieren Anzahl, Datum sql oracle
Ich versuche zum konvertieren einer Zahl (yyyymmdd
) Datum (mm/dd/yyyy
)
Beispielsweise
20150302 ====> 03/02/2015
InformationsquelleAutor Dev_dev | 2015-07-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie versuchen, diese:
oder
20150302
ist ein ANZAHL keine string.TO_DATE
string akzeptiert. Sie zwingen die Oracle für eine implizite Datentyp-Konvertierung.InformationsquelleAutor Stefan Yordanov
Können Sie TO_DATE Funktion zum konvertieren von
NUMBER
zuDATE
. Versuchen Sie im folgenden:Wahrscheinlich, weil
to_date()
akzeptiert nur Zeichen-Literale (aka "strings"), nicht zahlen20150302
ist eine Zahl, kein string.das ist nicht korrekt. to_date() akzeptiert-Nummer als auch. Führen Sie die folgende Abfrage, und und sehen Sie es selbst: select to_date(20150302,'yyyymmdd') from dual;
siehe manual: der erste parameter für
to_date()
erklärt wirdchar
. Es gibt keine version vonto_date()
akzeptiert eine Zahl. Wenn rufen Sie es mit einer Nummer, die bösen implizite Datentyp-Konvertierung zu konvertieren, dass diese Zahl einevarchar
vor dem Aufruf to_char. Soto_date(20150302,'yyyymmdd')
wird im hintergrund ausgeführt, wieto_date(to_char(20150302),'yyyymmdd')
was Sie sagen, über die implizite Konvertierung ist korrekt. Aber das ist nicht der Punkt hier, der Punkt ist, ob diese Funktion akzeptiert eine Zahl ist oder nicht. Wie man sehen kann, ist es egal, was passiert hinter den kulissen(implizite Konvertierung).
InformationsquelleAutor Stanislovas Kalašnikovas
TO_DATE akzeptiert char von
CHAR
,VARCHAR2
,NCHAR
oderNVARCHAR2
Datentypen und konvertiert in einen Wert des DATUM Datentyp.So, konvertieren Sie die Zahl in den string, und gelten to_date. Könnten Sie single-Anführungszeichen um die Zahl zu konvertieren es in string.
Erinnern, ein DATUM, das hat kein format, was Sie sehen, ist für die Anzeige Zweck. Wenn Sie möchten, um das Datum im gewünschten format, dann verwenden Sie TO_CHAR zusammen mit dem von Ihnen gewünschten format-Modell.
Lesen Sie mehr über TO_DATE.
Wie ist '1' ein gültiges Datum auch? Und "funktioniert nicht" ist nicht eine Oracle-Fehlermeldung.
Ich war die überprüfung für diese select TO_CHAR(TO_DATE(1,'J',),'JSP')from dual;
InformationsquelleAutor Lalit Kumar B