Maison > base de données > tutoriel mysql > Comment comparer correctement les dates dans Oracle SQL pour compter les employés embauchés après une date spécifique ?

Comment comparer correctement les dates dans Oracle SQL pour compter les employés embauchés après une date spécifique ?

Barbara Streisand
Libérer: 2025-01-17 10:46:08
original
252 Les gens l'ont consulté

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

Comparaison des dates Oracle SQL et nombre de dates d'arrivée des employés

Question :

Je dois compter le nombre d'employés qui ont rejoint après le 20 juin 1994, mais j'ai rencontré une erreur :

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

Erreur :

"JUN' identifiant invalide."

Réponse :

Comparaison de chaînes et de dates :

L'erreur se produit lors de la comparaison d'une chaîne (« 31-DEC-95 ») à une valeur de date (employee_date_hired). Pour effectuer une comparaison de dates, vous devez convertir la chaîne en date à l'aide de la fonction TO_DATE() ou utiliser un littéral de date.

1. Fonction TO_DATE() :

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

2. Date littérale :

Si vous souhaitez un comportement cohérent dans différents paramètres régionaux et des comparaisons de dates précises, vous pouvez utiliser des littéraux de date.

<code class="language-sql">select employee_id
from employee
where employee_date_hired > date '1995-12-31'</code>
Copier après la connexion

Conseils :

  • Spécifiez l'année complète (AAAA) pour éviter toute confusion.
  • Utilisez les paramètres NLS_DATE_LANGUAGE et NLS_DATE_FORMAT pour personnaliser les formats de date.
  • Pour la requête de comptage, le regroupement par Employee_id est requis :
<code class="language-sql">select employee_id, count(*)
from employee
where employee_date_hired > date '1995-12-31'
group by employee_id</code>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal