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

Select employee_id, count(*)
From Employee
Where to_char(employee_date_hired, 'DD-MON-YY') > '31-DEC-95'; 
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() :

select employee_id
from employee
where employee_date_hired > to_date('31-DEC-95','DD-MON-YY')
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.

select employee_id
from employee
where employee_date_hired > date '1995-12-31'
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 :
select employee_id, count(*)
from employee
where employee_date_hired > date '1995-12-31'
group by employee_id
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!

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