Requette SQL

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

6 réponses

Netlimit Messages postés 23 Statut Membre
 
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
1
BadGuitarist Messages postés 373 Statut Membre 27
 
Bonjour Netlimit,
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.
-1
BadGuitarist Messages postés 373 Statut Membre 27
 
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 ?
-1
Netlimit Messages postés 23 Statut Membre
 
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.
-1
BadGuitarist Messages postés 373 Statut Membre 27
 
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.
-1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
BadGuitarist Messages postés 373 Statut Membre 27
 
Fonction CAST ou CONVERT, je te laisse regarder :
https://www.microsoft.com/en-us/download/details.aspx?id=51958
-1
Netlimit Messages postés 23 Statut Membre
 
Merci
-1