IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

Gestion des dates


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 10
    Par défaut Gestion des dates
    Bonjour, quelqu'un peut-il m'aider à résoudre ce problème ?

    langage : SQL TRANSACT

    je souhaite mettre une condition sur les dates de début, date de fin pour une catégorie de produit :

    Ma problématique :

    comment écrire le code qui permettra de dire que :

    - si datesystème < date de valorisation du mois encours,

    alors :

    datedebut = dernier jour de valorisation du mois précédent la datefin

    datefin = dernier jour de valorisation du mois précédent la datesysteme


    NB: la date de valorisation normale est une date fin de mois soit logiquement 30 ou 31 mais peut aussi être le 25 ou 26... selon le nombre de jour ouvrés du mois

    donc si on génère un fichier au 15/12/2010 par exemple, on doit pouvoir avoir une un calcul qui prendra ses valeurs entre les dates du 30/09/2010 au 31/12/2010.

    Si quelqu'un a une idée,merci d'avance.

  2. #2
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Par défaut
    Bonjour
    Comment pouvons nous vous répondre si vous ne postez pas au moins la structure de vos tables ?

    Idéalement un jeu d'essai avec résultats attendus seraient les bienvenus...

    Postez également la requete que vous avez tenté de faire...

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 10
    Par défaut RE
    En effet voici le bout de code en pièce jointe ;
    ce que j'essaie de faire :

    si NumGamme = 8 alors on considère le NumIndicateur 2 sinon on considère soit le NumIndicateur 2, soit le NumIndicateur 36 selon des conditions qui on déjà été définies.

    NumGamme et NumIndicateurs sont des paramètres qui on déjà été déclaré et appartiennent à la même table.

    merci d'avance
    Fichiers attachés Fichiers attachés

  4. #4
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Par défaut
    ???

    je ne vois pas le rapport entre le code posté et votre question initiale avec le problème de date...

    concernant le bout de code je pense que votre dernière ligne ne fonctionne pas "comme vous voulez" car vous tentez de comparer indics.NumIndicateur aux valeurs 2 et 36 en pensant que indics.NumIndicateur vaut alors la valeur qui vient de lui être affectée par ligne juste au dessus avec le CASE, ce qui est faux.

    Votre moteur de base de donnée évalue les conditions avec les valeurs originale (avant update donc). Il ne les évalue d'ailleurs pas forcement dans l'ordre dans lequel ces conditions sont écrites, ceci afin d'optimiser la recherche. Si vous voulez placer une condition sur le résultat de votre case, il vous faut le faire explicitement, a savoir non pas :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    AND indics.NumIndicateur  IN (2,36)

    mais
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    AND CASE ... IN (2,36)

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 10
    Par défaut
    Merci pour cette réponse.

    En effet il n'y avait aucun lien entre ma première question et la seconde tout simplement parce que j'avais mal appréhendé le problème mais ça y est je l'ai résolu.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. gestion des dates dans un formulaire
    Par clement42 dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 18/05/2006, 11h34
  2. [VB6]gestion des dates
    Par luckelm dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 19/04/2006, 20h25
  3. Application international (Gestion des dates)
    Par vsavoir dans le forum C++Builder
    Réponses: 2
    Dernier message: 01/08/2005, 10h22
  4. Réponses: 3
    Dernier message: 13/08/2004, 18h52
  5. [MCD] [MCD] Gestion des dates
    Par brionne dans le forum Schéma
    Réponses: 3
    Dernier message: 30/05/2003, 13h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo