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 :

Exec procédure entre deux dates


Sujet :

MS SQL Server

  1. #1
    Membre confirmé
    Femme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Avril 2010
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Avril 2010
    Messages : 135
    Par défaut Exec procédure entre deux dates
    Bonjour,

    Dans SQL Server, j'ai une procédure que je veux exécuter entre deux dates précises (du 1er jusqu'à aujourd'hui du mois courant). Cette procédure contient deux colonnes:
    @from de type smalldatetime
    @to de type smalldatetime

    Ma requête, que je veux exécuter, est la suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Exec MaProcédure '20110201', '20110201', 0,0
    Quand je tape cette requête, elle fonctionne bien sauf que moi je veux automatiser la partie date.

    J ai tester:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Exec MaProcédure 'CONVERT(VARCHAR(8), dateadd(day, 0, GETDATE()), 112)', 'CONVERT(VARCHAR(8), GETDATE(), 112)', 0,0
    ça m'affiche une erreur de conversion en smalldatetime !!

    Merci pour votre aide.

  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

    essaie ceci :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Exec MaProcédure CAST(dateadd(day, 0, GETDATE()) AS SMALLDATETIME), 
        CAST(GETDATE() AS SMALLDATETIME)
        , 0
        ,0

  3. #3
    Membre confirmé
    Femme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Avril 2010
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Avril 2010
    Messages : 135
    Par défaut
    merci pour ta réponse, mais j'ai toujours la même erreur de conversion de Varchar en Smalldatetime !

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 994
    Billets dans le blog
    6
    Par défaut
    à la place de CAST, utilisez CONVERT(CHAR(8) ...)

    Le type smalldatetime est à éviter (obsolescence).

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  5. #5
    Membre confirmé
    Femme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Avril 2010
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Avril 2010
    Messages : 135
    Par défaut
    Même avec un convert ça marche pas !

  6. #6
    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
    Il y a quelque chose que je ne comprend pas...
    Es-tu sûr que les deux premiers paramètres de ta fonctions sont de type smalldatetime ?

  7. #7
    Membre confirmé
    Femme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Avril 2010
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Avril 2010
    Messages : 135
    Par défaut
    Oui ils sont de type Smalldatetime.
    Dans le schéma Procedure columns, j'ai:
    Column_Name | Type_Name
    @from | smalldatetime
    @to | smalldatetime

Discussions similaires

  1. Minimum entre deux dates
    Par JF.Stachera dans le forum Access
    Réponses: 7
    Dernier message: 20/09/2005, 23h06
  2. Différence entre deux dates
    Par pittzz dans le forum Oracle
    Réponses: 5
    Dernier message: 18/07/2005, 12h24
  3. Comment obtenir la différence entre deux dates ?
    Par jbat dans le forum Langage
    Réponses: 4
    Dernier message: 02/06/2005, 09h34
  4. Calcul entre deux dates heures
    Par Isa31 dans le forum Algorithmes et structures de données
    Réponses: 9
    Dernier message: 31/03/2005, 13h17
  5. comment obtenir l’intervalle de mois entre deux date
    Par looc 6699 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 23/02/2005, 11h08

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