Heim >Datenbank >MySQL-Tutorial >Wie vergleiche ich Daten in Oracle SQL richtig, um Mitarbeiter zu zählen, die nach einem bestimmten Datum eingestellt wurden?

Wie vergleiche ich Daten in Oracle SQL richtig, um Mitarbeiter zu zählen, die nach einem bestimmten Datum eingestellt wurden?

Barbara Streisand
Barbara StreisandOriginal
2025-01-17 10:46:08252Durchsuche

How to Correctly Compare Dates in Oracle SQL to Count Employees Hired After a Specific Date?

Oracle SQL-Datumsvergleich und Anzahl der Mitarbeitereintrittsdaten

Frage:

Ich muss die Anzahl der Mitarbeiter zählen, die nach dem 20. Juni 1994 beigetreten sind, aber es ist ein Fehler aufgetreten:

<code class="language-sql">Select employee_id, count(*)
From Employee
Where to_char(employee_date_hired, 'DD-MON-YY') > '31-DEC-95'; </code>

Fehler:

"JUN' ungültige Kennung."

Antwort:

String- und Datumsvergleich:

Der Fehler tritt auf, wenn eine Zeichenfolge ('31-DEC-95') mit einem Datumswert (employee_date_hired) verglichen wird. Um einen Datumsvergleich durchzuführen, müssen Sie die Zeichenfolge mithilfe der Funktion TO_DATE() in ein Datum konvertieren oder ein Datumsliteral verwenden.

1. TO_DATE()-Funktion:

<code class="language-sql">select employee_id
from employee
where employee_date_hired > to_date('31-DEC-95','DD-MON-YY')</code>

2. Datumsliteral:

Wenn Sie ein konsistentes Verhalten über verschiedene Standorte hinweg und präzise Datumsvergleiche wünschen, können Sie Datumsliterale verwenden.

<code class="language-sql">select employee_id
from employee
where employee_date_hired > date '1995-12-31'</code>

Tipps:

  • Geben Sie das vollständige Jahr (JJJJ) an, um Verwirrung zu vermeiden.
  • Verwenden Sie die Einstellungen NLS_DATE_LANGUAGE und NLS_DATE_FORMAT, um Datumsformate anzupassen.
  • Für die Zählungsabfrage ist eine Gruppierung nach Mitarbeiter-ID erforderlich:
<code class="language-sql">select employee_id, count(*)
from employee
where employee_date_hired > date '1995-12-31'
group by employee_id</code>

Das obige ist der detaillierte Inhalt vonWie vergleiche ich Daten in Oracle SQL richtig, um Mitarbeiter zu zählen, die nach einem bestimmten Datum eingestellt wurden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn