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:
<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!