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

Développement SQL Server Discussion :

Soustraction de dates MSSQL SERVER 2008


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Août 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Août 2011
    Messages : 12
    Par défaut Soustraction de dates MSSQL SERVER 2008
    Avec WINDOWS XP+MSSQL SERVER 2008
    Je voudrais :

    créer une database maintenance dans laquelle je vais créer une table coupures.

    créer la procédure d'injection de nouvelles informations à partir d'un fichier excel 2007. Cette table sera actualisée manuellement chaque semaine à partir d'un fichier excel 2007 avec les champs suivants:
    nomdusite: 1-15 lettres commençant par une majuscule
    date_debut: 8/27/2011 21:40
    date_fin:8/27/2011 21:41

    ecrire une procédure stockée qui calcule pour chaque nomdusite du premier au dernier jour du mois passé la somme cumulée de (date_fin-date_debut) c'est-à-dire la durée totale d'isolement de chaque site.

  2. #2
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 197
    Billets dans le blog
    1
    Par défaut
    Je verrais un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select nomdu site, month(date_debut), sum(date_fin - date_debut)
    from matable
    group by nomdu site, month(date_debut)

  3. #3
    Membre Expert Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Novembre 2004
    Messages
    1 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 795
    Par défaut
    SELECT nomdu site, month(date_debut), sum(date_fin - date_debut)
    FROM matable
    GROUP BY nomdu site, month(date_debut)
    Je pense que si vous ne groupez par sur l'année vous allez vite avoir des soucis

    Que voulez vous cumuler en terme de durée? le nombre de jour?
    ecrire une procédure stockée qui calcule pour chaque nomdusite du premier au dernier jour du mois passé la somme cumulée de (date_fin-date_debut) c'est-à-dire la durée totale d'isolement de chaque site.
    Préférez un TRIGGER...

  4. #4
    Membre averti
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Août 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Août 2011
    Messages : 12
    Par défaut
    somme cumulée en minutes de (date_fin-date_debut)
    Pouvez-vous proposer le trigger?

  5. #5
    Membre Expert Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Novembre 2004
    Messages
    1 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 795
    Par défaut
    somme cumulée en minutes de (date_fin-date_debut)
    Alors ce sera d'avantage:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT nomdu site, month(date_debut), sum(DATEDIFF(minute,date_fin, date_debut)) AS SUM_MINUTES
    FROM matable
    GROUP BY nomdu site, month(date_debut)

  6. #6
    Membre Expert Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Novembre 2004
    Messages
    1 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 795
    Par défaut
    Le TRIGGER n'est en fait pas nécessaire ici...
    Une simple vue suffit.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    CREATE VIEW dbo.V_MATABLE_SOMME
     AS
    SELECT nomdu site AS NOM_SITE, month(date_debut) AS MOIS, SUM(DATEDIFF(minute,date_fin, date_debut)) AS SUM_MINUTES
    FROM dbo.matable
    GROUP BY nomdu site, month(date_debut)
    puis:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SELECT NOM_SITE,MOIS,SUM_MINUTES
    FROM dbo.V_MATABLE_SOMME
    Le volume de données est'il important?

Discussions similaires

  1. Réponses: 1
    Dernier message: 23/10/2013, 16h04
  2. MSSQL Server 2008 Express et Delphi7
    Par PREUX dans le forum Bases de données
    Réponses: 3
    Dernier message: 01/10/2013, 16h13
  3. Réponses: 11
    Dernier message: 23/01/2011, 00h54
  4. conversion des dates string datetime en sql server 2008
    Par banger dans le forum Langage SQL
    Réponses: 1
    Dernier message: 03/12/2008, 10h39
  5. Date officielle de la sortie de SQL Server 2008
    Par snoopy69 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 10/09/2007, 18h29

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