Requette SQL
Netlimit
Messages postés
23
Statut
Membre
-
Netlimit Messages postés 23 Statut Membre -
Netlimit Messages postés 23 Statut Membre -
Bonjour,
Sous SQL 2000, j'ai une table JAchatsDet (Achats de la journée). Dans cette table il y a un champ Peremption pour la date de péremption des produits. Par exemple la date de péremption du Viagra c 201002 (Février 2010)
Le type de Peremption est Entier, je voudrais savoir comment faire pour visualiser tous les produits dont la date de péremption est inférieure à 6 mois la date système
Merci
Sous SQL 2000, j'ai une table JAchatsDet (Achats de la journée). Dans cette table il y a un champ Peremption pour la date de péremption des produits. Par exemple la date de péremption du Viagra c 201002 (Février 2010)
Le type de Peremption est Entier, je voudrais savoir comment faire pour visualiser tous les produits dont la date de péremption est inférieure à 6 mois la date système
Merci
A voir également:
- Requette SQL
- Logiciel sql - Télécharger - Bases de données
- Sql (+) - Forum Programmation
- Sql lister les tables ✓ - Forum Programmation
- Requête sql pour afficher uniquement les fleurs dont le prix est strictement inférieur à 10 euros - Forum calculatrices
- Cherche des haricot vendez les moi ✓ - Forum DS
6 réponses
Merci BadGuitarist, j'attends ta réponse :) Pour le type de données, c'est une société de developpement qui a crée ce logien et non pas moi ;)
Cordialement
Cordialement
Bonjour,
Si tu n"es pas pressé, je te répondrai demain vers 15h00.
Petits indices : itu as notamment besoin d'utiliser le mot clé SYSDATE (date système chez Oracle) et le DECODE (pour gérer le problème de typage.
Petit conseil si je puis me permettre : utiliser des types qui correspondent aux données manipulées. Les trtaitements en seront que plus faciles. Une date de péremption devrait être typé DATE.
A demain 15h00 si tu veux bien ?
Si tu n"es pas pressé, je te répondrai demain vers 15h00.
Petits indices : itu as notamment besoin d'utiliser le mot clé SYSDATE (date système chez Oracle) et le DECODE (pour gérer le problème de typage.
Petit conseil si je puis me permettre : utiliser des types qui correspondent aux données manipulées. Les trtaitements en seront que plus faciles. Une date de péremption devrait être typé DATE.
A demain 15h00 si tu veux bien ?
Re BadGuitariste,
Merci encore une fois pour ton aide, mais ce que tu m'as donné n'a pas marché sous SQL 2OOO
J'ai un message d'erreur qui me dit : 'TO_CHAR' n'est pas un nom de fonction reconnu.
Merci encore une fois pour ton aide, mais ce que tu m'as donné n'a pas marché sous SQL 2OOO
J'ai un message d'erreur qui me dit : 'TO_CHAR' n'est pas un nom de fonction reconnu.
C'est parce que je sais que tous les SQL ne se ressemblent pas que j'ai commenté la requête SQL.
A toi de trouver la correspondance en SQL 2000 des 2 fonctions de conversion.
Je suis sûr que SQL 2000 possède de tels outils.
A toi de trouver la correspondance en SQL 2000 des 2 fonctions de conversion.
Je suis sûr que SQL 2000 possède de tels outils.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Fonction CAST ou CONVERT, je te laisse regarder :
https://www.microsoft.com/en-us/download/details.aspx?id=51958
https://www.microsoft.com/en-us/download/details.aspx?id=51958
Pas grave pour le problème de typage : nous sommes tous confrontés à ce problème : palier au mauvais choix et faire avec ;-)
Voici la réponse SQL Oracle à ton soucis : la solution proposée aujourd'hui est plus simple que celle que j'entre-voyais hier :
SELECT *
FROM ta_table_achats
WHERE TO_DATE(TO_CHAR(Peremption), 'YYYYMM') <= ADD_MONTHS(SYSDATE, -6);
En résumé on convertit Peremption en date :
pour cela, il faut le numérique en chaîne de caractères
puis convertir ce 1ier résultat au format date en lui précisant le format (année sur 4car.mois sur 2car.)
Dans l'autre opérande, on enlève 6 mois à la date système.
Dans un environnemment Oracle, j'ai testé : ça marche. J'espère que cela répond à ton attente.