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 9: Sql: Datumsformat FÜr Abfrage

Empfohlene Antworten

Veröffentlicht

Hallo,

ich versuche hier schon seit einiger Zeit eine Abfrage auf eine Oracle-Tabelle zu machen. Ich suche nach allen Datensätzen, die ein bestimmtes Datum haben müssen. Leider bekomme ich ständig Fehlermeldungen bei der Abfrage:

[Oracle][ODBC][Ora]ORA-00920: invalid relational operator

Wie muss ich das Datum in der Abfrage formatieren, dass ich endlich ein Ergebnis bekomme? Eine einfache SQL-Anweisung würde mir als Antwort reichen.

Danke & viele Grüße.

Chris;-)

2 Beispiele:

Festes Datum:


SELECT ename,hiredate 

FROM scott.emp 

WHERE trunc(hiredate) = TO_DATE('20.02.1981','DD.MM.RRRR');

(trunc entfernt die Uhrzeit, indem die Nachkommastellen ignoriert werden) Datumsbereich:

SELECT ename,hiredate 

FROM scott.emp 

WHERE hiredate BETWEEN TO_DATE('01.01.1981','DD.MM.RRRR') AND TO_DATE('01.06.1981','DD.MM.RRRR');

Ich hoffe das hilft.

Hi,

wieso verwendest du RRRR und nicht YYYY ??

Hi,

ich werde das gleich morgen auf der Arbeit testen. Danke!

Wenn du schon eine Möglichkeit hast, die Uhrzeit wegzulassen,

gibt es auch eine Möglichkeit, nur die Uhrzeit in der Spalte auszugeben?

Gruß,

chris

select to_char(sysdate,'HH24:MI') from dual;

damit kannst nur die uhrzeit ausgeben lassen ... schau mal im oracle technet, da gibt es jede menge zu den datumsformaten ... ;)

Hi,

so wie ich das sehe, bekomme ich da die aktuelle Uhrzeit. Ich hätte aber schon gerne die Uhrzeit gehabt, die hinter dem Datum im Datensatz steht. Kann ich da einfach Sysdate durch den Feldnamen ersetzen?

Gruß,

Chris

Original geschrieben von ChrisDaHub

Kann ich da einfach Sysdate durch den Feldnamen ersetzen?

JA.

Original geschrieben von -leliel-

Hi,

wieso verwendest du RRRR und nicht YYYY ??

RRRR und YYYY haben eine ähnliche Bedeutung. Allerdings gibt es einen kleinen, aber feinen Unterschied - nämlich dann, wenn 2-stellige Jahreszahlen ins Spiel kommen:

Beispiel:

SQL> select to_char(to_date('01.01.98','DD.MM.RR'),'DD.MM.YYYY') from dual;

Ausgabe

----------

01.01.1998

SQL> select to_char(to_date('01.01.98','DD.MM.YY'),'DD.MM.YYYY') from dual;

Ausgabe

----------

01.01.2098

Dies spielt aber nur eine Rolle, wenn eine Zeichenkette mit 2 stelligem Jahr in einen Datumswert umgewandelt werden soll.

jepp. genau ... dass es nen kleinen unterschied gibt, wusste ich noch, aber nemmer welchen ... :D

mir wurde jedoch von unserem db admin geraten YYYY zu verwenden, darum hatte ich nochmal wegen dem RRRR nachgefragt. :)

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.