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 ?
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>
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>
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>
Conseils :
<code class="language-sql">select employee_id, count(*) from employee where employee_date_hired > date '1995-12-31' group by employee_id</code>
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!