"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment comparer correctement les dates dans Oracle SQL?

Comment comparer correctement les dates dans Oracle SQL?

Publié le 2025-02-15
Parcourir:157

How to Correctly Compare Dates in Oracle SQL?

Comparez les dates dans Oracle Sql

Lorsque vous comparez les dates dans Oracle SQL, assurez-vous de vous assurer que la date est formatée correctement. Par défaut, Oracle interprète les dates en tant que nombres, ce qui peut entraîner des erreurs si elle est mal gérée.

Un problème commun consiste à utiliser des chaînes pour représenter les dates. Une chaîne (par exemple '31 -dec-95 ') n'est pas reconnue comme une date valide et déclenchera une erreur "identifiant non valide". Pour résoudre ce problème, convertissez la chaîne en une date à l'aide de la fonction Date Litation ou de la fonction TO_DATE ().

Utiliser TO_DATE ()

] La fonction

vers_date () vous permet de spécifier le format de la chaîne de date et de les convertir au type de données de date. Par exemple:

select employee_id
  from employee
 where employee_date_hired > to_date('31-12-1995','DD-MM-YYYY')

Cette requête convertit la chaîne '31 -12-1995 'en une date à l'aide du format' dd-mm-yyy 'et le compare à la colonne Employee_Date_Hired.

Utiliser le texte de la date

]

Date Litational est une autre façon de spécifier les dates dans Oracle SQL. Ils sont écrits au format «yyy-mm-dd» et ne contiennent pas d'éléments de temps. Par exemple:

select employee_id
  from employee
 where employee_date_hired > date '1995-12-31'

Cette requête compare la colonne Employee_Date_hired avec le texte de date «1995-12-31» (représentant le 31 décembre 1995).

Paramètres de temps de traitement et de paramètres locaux

]

Les dates Oracle contiennent des composants de temps, donc si vous avez besoin de faire des comparaisons précises, assurez-vous de considérer l'élément temporel. De plus, les formats de date peuvent varier en fonction des paramètres NLS_DATE_FORMAT et NLS_DATE_LANGUAGE. Si vous devez assurer un traitement de date cohérent entre les régions, utilisez le format Yyyy-mm-dd et définissez NLS_DATE_FORMAT et NLS_DATE_LANGUAGE en conséquence.

par le nombre d'employee

Pour calculer le nombre d'employés employés après une date spécifique et regrouper les résultats par ID de l'employé, vous pouvez utiliser la requête suivante:

select employee_id, count(*)
  from employee
 where employee_date_hired > date '1995-12-31'
 group by employee_id

Cette requête fournit le nombre d'employés employés après le 31 décembre 1995 et est regroupé par leur identifiant d'employé.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3