Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Oracle - Problem mit Datumsformat in Date-Feld

Empfohlene Antworten

Veröffentlicht

Moin!

Vielleicht kann mir Oracle-Anfänger ja wer helfen...

Ich hab einen SQL-String, in dem ich Datensätze selektieren will, die zwischen zwei Daten liegen - also in einem Date-Feld nen Wert haben, der zwischen den beiden Datumswerten liegt.

Wenn ich jetzt nur nach Datum abfrage, gibt's keine Probleme, wenn aber in diesem Datumswert auch eine Uhrzeit dabei ist, bekomme ich von Oracle die Fehlermeldung "ORA 01830: Datumsformatstruktur endet vor Umwandlung der gesamten Eingabezeichenfolge."

Mein SQL-String ist folgender:

'SELECT * FROM STAMMDATEN WHERE (WVDATUM < '02.02.02 02:02:02') AND (WVDATUM > '01.01.01 01:01:01') ORDER BY WVDATUM'

Die Daten sind natürlich erstmal nur Testwerte...

Was mache ich denn falsch? Und wie kann ich Oracle dazu bewegen, auch die Uhrzeit anzunehmen? Also in dem Feld wird Datum und Uhrzeit anstandslos gespeichert und auch im selben Format wieder ausgegeben, das ich im Query auch verwende...

Hiiiilfe... :eek:

select abfrage from tabelle where datum = to_date('01.01.2002','dd.mm.yyyy');

select abfrage from tabelle where datum = to_date('01.01.2002','dd.mm.yyyy HH24:MI');

so sollte das gehen ... du kannst ja nur datum und datum vergleichen, also musst erstmal ein datum genrieren (mit to_date())

so long

  • Autor
Original geschrieben von -leliel-

select abfrage from tabelle where datum = to_date('01.01.2002','dd.mm.yyyy');

select abfrage from tabelle where datum = to_date('01.01.2002','dd.mm.yyyy HH24:MI');

so sollte das gehen ... du kannst ja nur datum und datum vergleichen, also musst erstmal ein datum genrieren (mit to_date())

so long

thx, aber das Problem bleibt das selbe... - hab wieder die Fehlermeldung... - aber halt nur bei der zweiten Möglichkeit! - Ich hab da aber auch die aktuelle Uhrzeit an das Datum gehängt - denn die brauche ich ja auch... - vielleicht ist das ja das Problem...

Hallo, also bei mir lief folgende Abfrage ohne Probleme:

select *

from tabelle

where datum < to_date('01.01.2002 13:40', 'DD.MM.YYYY HH24:MI');

Falls du die Sekunden auch brauchst, einfach noch nen :SS hinter HH24:MI

Wenn immer noch Fehler auftreten, könnte das vielleicht mit dem NLS-Sprachparameter zusammenhängen, glaub ich aber eigentlich nicht.

Gruß, AxlHammer

@Axl danke fuers verbessern ... hatte beim copy&paste die datumsangabe beim ersten parameter vergessen ... :eek:

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.