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 :

afficher une date convertie [2012]


Sujet :

MS SQL Server

  1. #21
    Membre à l'essai
    Inscrit en
    Mars 2011
    Messages
    230
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 230
    Points : 24
    Points
    24
    Par défaut
    Citation Envoyé par aieeeuuuuu Voir le message
    Non, l'erreur est à la ligne juste au dessus, ou vous avez laissé trainer un alias...

    Supprimez le AS [date] ,.
    non l'erreur c'est ici
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    (SELECT Datediff (SS,(SELECT (max(c.date)),(SELECT(min(c.date) )))
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    	( SELECT DATEDIFF(DAY, (select max(c.date)), (select min(c.date)))) as date

  2. #22
    Membre à l'essai
    Inscrit en
    Mars 2011
    Messages
    230
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 230
    Points : 24
    Points
    24
    Par défaut
    mais ma Requête est fausse

  3. #23
    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
    Points : 13 092
    Points
    13 092
    Par défaut
    Tout ces SELECT sont parfaitement inutiles... et Date est un mot clef réservé, donc a éviter comme nom de colonne.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DATEDIFF(DAY, MAX(c.date), MIN(c.date)) AS LaDate

  4. #24
    Membre à l'essai
    Inscrit en
    Mars 2011
    Messages
    230
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 230
    Points : 24
    Points
    24
    Par défaut
    même problème le résultat est fausse

  5. #25
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2008
    Messages
    698
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Octobre 2008
    Messages : 698
    Points : 586
    Points
    586
    Par défaut
    Bon et ça ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT CAST(dateadd(d, -180, getdate() ) AS DATE ) , CAST(c.date as date)
    FROM <blabla>
    WHERE <blabla>
    AND  CAST(dateadd(d, -180, getdate() ) AS DATE ) =CAST(c.date as date)

  6. #26
    Membre à l'essai
    Inscrit en
    Mars 2011
    Messages
    230
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 230
    Points : 24
    Points
    24
    Par défaut
    Non parce que je dois faire la différence entre (00.00.00-23.59.59) a jour -1

  7. #27
    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
    Points : 13 092
    Points
    13 092
    Par défaut
    alors déjà il ne faut pas transtyper en DATE, qui ne contient pas la composante horaire

  8. #28
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2008
    Messages
    698
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Octobre 2008
    Messages : 698
    Points : 586
    Points
    586
    Par défaut
    Citation Envoyé par aieeeuuuuu Voir le message
    alors déjà il ne faut pas transtyper en DATE, qui ne contient pas la composante horaire
    ça, c'est un débat interminable, mais je me suis dis que comme il fait moins 180 jours, on doit être au niveau du jours et pas de l'heure...

    Après la demande semble changer a chaque post, on n'as pas les type de données, et on dirait même qu'il essai pas les requêtes qu'on lui propose.

    Donc bon week-end messieurs

  9. #29
    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
    Points : 13 092
    Points
    13 092
    Par défaut
    Citation Envoyé par Donpi Voir le message
    et on dirait même qu'il essai pas les requêtes qu'on lui propose.
    Si mais elles "sont fausses"

    Allons Donpi, faites au moins un petit effort pour deviner le message d'erreur

  10. #30
    Membre à l'essai
    Inscrit en
    Mars 2011
    Messages
    230
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 230
    Points : 24
    Points
    24
    Par défaut
    Citation Envoyé par Donpi Voir le message
    ça, c'est un débat interminable, mais je me suis dis que comme il fait moins 180 jours, on doit être au niveau du jours et pas de l'heure...

    Après la demande semble changer a chaque post, on n'as pas les type de données, et on dirait même qu'il essai pas les requêtes qu'on lui propose.

    Donc bon week-end messieurs
    non c'est pas vrai je suis en train de tester les requêtes et en même temps je suis en train de cherche des autres astuces , et j'ai déjà expliqué mes types de données

  11. #31
    Membre confirmé
    Homme Profil pro
    Développeur Full-stack
    Inscrit en
    Novembre 2010
    Messages
    372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Full-stack

    Informations forums :
    Inscription : Novembre 2010
    Messages : 372
    Points : 489
    Points
    489
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    SELECT      u.UserID,
                b.BuildingID,
                f.Name AS NameFloors,
                r.Name AS Rooms,
                d.DeviceID,
                e.EquipmentID,
            c.value  AS energie ,
             AS [date] ,
     (SELECT Datediff (second,(SELECT (max(c.date)),(SELECT(min(c.date) )))
     
    FROM        dbo.Users u
    LEFT JOIN   dbo.Buildings b ON u.UserID=b.UserId
    LEFT JOIN   dbo.Floors f ON b.BuildingID=f.BuildingID
    LEFT JOIN   dbo.Rooms r ON f.FloorID=r.FloorID         
    LEFT JOIN   dbo.Equipments e ON r.RoomID=e.RoomID
    LEFT JOIN   dbo.EquipmentProperties ep ON e.EquipmentID = ep.EquipmentID
    LEFT JOIN   dbo.PropertiesInstances p ON ep.EquipmentPropertiesID = p.EquipmentPropertiesID
    LEFT JOIN   dbo.Consumptions c ON p.PropertiesInstanceID=c.PropertiesInstanceID
    LEFT JOIN        dbo.EquipmentDevices ed ON e.EquipmentID = ed.EquipmentID
    LEFT JOIN        dbo.UserDevices ud ON ud.UserDeviceID = ed.UserDeviceID
    LEFT JOIN        dbo.Devices d ON ud.DeviceID = d.DeviceID
    WHERE       p.ProprietesName =2
    AND         (e.ZwaveType=0 OR e.ZwaveType=1)
    AND c.Unit=2
     
    GROUP BY    u.UserID,
                b.BuildingID,
                f.Name,
                r.Name,  
     c.value,
                d.DeviceID,
                e.EquipmentID
    Le "As [Date] représente quelle colonne???? Supprimez le (la partie en rouge).

    Ok, Je vous écoute. mais je crois que c'était résolu déjà?
    La recherche de la connaissance est une Lumière qui apaise le Cœur.
    Si une réponse vous a été utile , n'oubliez pas de voter en cliquant sur:.

  12. #32
    Membre à l'essai
    Inscrit en
    Mars 2011
    Messages
    230
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 230
    Points : 24
    Points
    24
    Par défaut
    Citation Envoyé par Alexandre le Grand Voir le message
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    SELECT      u.UserID,
                b.BuildingID,
                f.Name AS NameFloors,
                r.Name AS Rooms,
                d.DeviceID,
                e.EquipmentID,
            c.value  AS energie ,
             AS [date] ,
     (SELECT Datediff (second,(SELECT (max(c.date)),(SELECT(min(c.date) )))
     
    FROM        dbo.Users u
    LEFT JOIN   dbo.Buildings b ON u.UserID=b.UserId
    LEFT JOIN   dbo.Floors f ON b.BuildingID=f.BuildingID
    LEFT JOIN   dbo.Rooms r ON f.FloorID=r.FloorID         
    LEFT JOIN   dbo.Equipments e ON r.RoomID=e.RoomID
    LEFT JOIN   dbo.EquipmentProperties ep ON e.EquipmentID = ep.EquipmentID
    LEFT JOIN   dbo.PropertiesInstances p ON ep.EquipmentPropertiesID = p.EquipmentPropertiesID
    LEFT JOIN   dbo.Consumptions c ON p.PropertiesInstanceID=c.PropertiesInstanceID
    LEFT JOIN        dbo.EquipmentDevices ed ON e.EquipmentID = ed.EquipmentID
    LEFT JOIN        dbo.UserDevices ud ON ud.UserDeviceID = ed.UserDeviceID
    LEFT JOIN        dbo.Devices d ON ud.DeviceID = d.DeviceID
    WHERE       p.ProprietesName =2
    AND         (e.ZwaveType=0 OR e.ZwaveType=1)
    AND c.Unit=2
     
    GROUP BY    u.UserID,
                b.BuildingID,
                f.Name,
                r.Name,  
     c.value,
                d.DeviceID,
                e.EquipmentID
    Le "As [Date] représente quelle colonne???? Supprimez le (la partie en rouge).
    j'ai déjà supprimer la colonne en rouge le problème dans Datediff voila l'erreur la fonction datediif requiret 3 arguments
    Nom : Capture.PNG
Affichages : 106
Taille : 2,0 Ko
    j'ai tester cette requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DATEDIFF(DAY, GETDATE()-180, (SELECT max(c.date))- (SELECT min(c.date)) )
    mais le problème dans le résultat je trouve des faux valeurs

  13. #33
    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
    Points : 13 092
    Points
    13 092
    Par défaut
    Citation Envoyé par Alexandre le Grand Voir le message
    Le "As [Date] représente quelle colonne???? Supprimez le (la partie en rouge).
    C'est ce que je lui ai dit ce matin, mais il a répondu que ce n'était pas le problème...

  14. #34
    Membre confirmé
    Homme Profil pro
    Développeur Full-stack
    Inscrit en
    Novembre 2010
    Messages
    372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Full-stack

    Informations forums :
    Inscription : Novembre 2010
    Messages : 372
    Points : 489
    Points
    489
    Par défaut
    Citation Envoyé par Jaafar_scorpion Voir le message
    j'ai déjà supprimer la colonne en rouge le problème dans Datediff voila l'erreur la fonction datediif requiret 3 arguments
    j'ai tester cette requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DATEDIFF(DAY, GETDATE()-180, (SELECT max(c.date))- (SELECT min(c.date)) )
    mais le problème dans le résultat je trouve des faux valeurs
    Mais, vous n'avez pas lu le doc que je vous ai transmis hier??? Et non plus, mon post sur cette partie à erreur.
    Voici le format correcte.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DATEDIFF(DAY, GETDATE()-180, (SELECT max(c.date)),(SELECT min(c.date)) )
    Vous remplacez le "-" par une ",". C'est tout.
    La recherche de la connaissance est une Lumière qui apaise le Cœur.
    Si une réponse vous a été utile , n'oubliez pas de voter en cliquant sur:.

  15. #35
    Membre confirmé
    Homme Profil pro
    Développeur Full-stack
    Inscrit en
    Novembre 2010
    Messages
    372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Full-stack

    Informations forums :
    Inscription : Novembre 2010
    Messages : 372
    Points : 489
    Points
    489
    Par défaut
    Citation Envoyé par Jaafar_scorpion Voir le message
    j'ai déjà supprimer la colonne en rouge le problème dans Datediff voila l'erreur la fonction datediif requiret 3 arguments
    Nom : Capture.PNG
Affichages : 106
Taille : 2,0 Ko
    j'ai tester cette requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DATEDIFF(DAY, GETDATE()-180, (SELECT max(c.date))- (SELECT min(c.date)) )
    mais le problème dans le résultat je trouve des faux valeurs
    Evidemment, cette requête ne marchera pas. Le mot clé "date" ne peut être utilisé comme nom de colonne. Si tel est le cas, vous écrivez ou encore .

    Renommez votre colonne "date" en LaDate.
    Appliquez les recommandations.
    La recherche de la connaissance est une Lumière qui apaise le Cœur.
    Si une réponse vous a été utile , n'oubliez pas de voter en cliquant sur:.

  16. #36
    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
    Points : 13 092
    Points
    13 092
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    (SELECT max(c.date))- (SELECT min(c.date))
    Vous ne pouvez pas soustraire deux dates !!!
    Que donne le 28 mai 2014 moins le 14 juillet 1789 ? (si ce n'est plus de deux siècles d'exploitation de l'homme par l'homme )

    Donc, bis repetita (non) placent :
    Donnez nous un exemple de ce que vous avez, et de ce que vous voulez obtenir (deux petits tableaux valent mieux qu'un long fil de discussion )

  17. #37
    Membre à l'essai
    Inscrit en
    Mars 2011
    Messages
    230
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 230
    Points : 24
    Points
    24
    Par défaut
    Citation Envoyé par Alexandre le Grand Voir le message
    Mais, vous n'avez pas lu le doc que je vous ai transmis hier??? Et non plus, mon post sur cette partie à erreur.
    Voici le format correcte.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DATEDIFF(DAY, GETDATE()-180, (SELECT max(c.date)),(SELECT min(c.date)) )
    Vous remplacez le "-" par une ",". C'est tout.

    j'ai bien lu votre document , mais le problème au niveau de format de dattdif si je veux mettre getdate(),180 une erreur affiche que il ne support que 3 arguments

  18. #38
    Membre à l'essai
    Inscrit en
    Mars 2011
    Messages
    230
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 230
    Points : 24
    Points
    24
    Par défaut
    Citation Envoyé par aieeeuuuuu Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    (SELECT max(c.date))- (SELECT min(c.date))
    Vous ne pouvez pas soustraire deux dates !!!
    Que donne le 28 mai 2014 moins le 14 juillet 1789 ? (si ce n'est plus de deux siècles d'exploitation de l'homme par l'homme )

    Donc, bis repetita (non) placent :
    Donnez nous un exemple de ce que vous avez, et de ce que vous voulez obtenir (deux petits tableaux valent mieux qu'un long fil de discussion )
    bon voila mon 1ére problème
    Nom : table.PNG
Affichages : 104
Taille : 20,3 Ko
    donc a partir de ce problème je doit calculer la date de la fin - la date de début pour trouver la valeur d’énergie par jour

  19. #39
    Membre à l'essai
    Inscrit en
    Mars 2011
    Messages
    230
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 230
    Points : 24
    Points
    24
    Par défaut
    Citation Envoyé par aieeeuuuuu Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    (SELECT max(c.date))- (SELECT min(c.date))
    Vous ne pouvez pas soustraire deux dates !!!
    Que donne le 28 mai 2014 moins le 14 juillet 1789 ? (si ce n'est plus de deux siècles d'exploitation de l'homme par l'homme )

    Donc, bis repetita (non) placent :
    Donnez nous un exemple de ce que vous avez, et de ce que vous voulez obtenir (deux petits tableaux valent mieux qu'un long fil de discussion )
    c.date c'est un attribut

  20. #40
    Membre à l'essai
    Inscrit en
    Mars 2011
    Messages
    230
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 230
    Points : 24
    Points
    24
    Par défaut
    j'ai vient de résoudre le problème de calcul de la moyenne de température mais il reste seulement comment l'afficher car je fait le traitement dans wehre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    SELECT      u.UserID, b.BuildingID,f.Name AS NameFloors,
                r.Name AS Rooms,
     
                e.EquipmentID,
    AVG(c.value)       AS Temerpartue
     
    FROM  
       dbo.Consumptions c,
     dbo.PropertiesInstances p,
    dbo.Buildings b,
    dbo.Users u,
    dbo.EquipmentProperties ep,
    dbo.Equipments e,
    dbo.Floors f,
    dbo.Rooms r
    WHERE 
    u.UserID=b.UserId
    AND
    b.BuildingID=f.BuildingID
    AND
    f.FloorID=r.FloorID
    AND
    r.RoomID=e.RoomID
    AND
    e.EquipmentID=ep.EquipmentID
    AND
    ep.EquipmentPropertiesID=p.EquipmentPropertiesID
    AND
    p.PropertiesInstanceID=c.PropertiesInstanceID
     
    AND      p.ProprietesName =6 AND e.ZwaveType=3
     
    AND  convert (varchar(MAX) , dateadd(d, -112, getdate() ) , 103 ) =  convert (varchar(MAX) , c.date , 103)
     
    GROUP BY    u.UserID,
                b.BuildingID,
                f.Name,
                r.Name,
    			e.EquipmentID

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 3 PremièrePremière 123 DernièreDernière

Discussions similaires

  1. [PHP 5.0] afficher une date converti avec ISO 8601:2000 basic format
    Par abdeladim7 dans le forum Langage
    Réponses: 0
    Dernier message: 27/01/2012, 12h42
  2. [Dates] Afficher une date en francais
    Par pssinjaune dans le forum Langage
    Réponses: 2
    Dernier message: 20/05/2006, 21h24
  3. [MySQL] Afficher une date correctement après une requête
    Par Nerva dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 12/04/2006, 16h27
  4. afficher une date d'1 monthcalendar d'un datetimepicker
    Par bertrand_declerck dans le forum Composants VCL
    Réponses: 2
    Dernier message: 18/07/2005, 10h00
  5. [JTable] Afficher une date dans un tableau / Renderer
    Par isak dans le forum Composants
    Réponses: 3
    Dernier message: 11/07/2005, 17h09

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