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

Langage SQL Discussion :

Opération sur une date


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    27
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2008
    Messages : 27
    Par défaut Opération sur une date
    Bonjour,
    mes dates sont enregistrées en TIMESTAMP dans ma base de données.
    j'aimerai faire un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    "select * from maTable where id_matableDeLaison = ".$id. " and justeLeMois(date_matable) = ".date('m',$dateTest)
    avez vous une solution pour remplacer la fonction justeLeMois
    Merci d'avance.

  2. #2
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Par défaut
    salut,

    quel SGBD?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    27
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2008
    Messages : 27
    Par défaut
    MS SQL server

  4. #4
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Par défaut
    avec datepart(m, date_matable) ?

    regarde ceci : http://msdn.microsoft.com/fr-fr/libr...8(SQL.90).aspx

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    27
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2008
    Messages : 27
    Par défaut
    merci de vos réponses, cela me semble une bonne idée avec le DATEPART.
    J'ai ce message d'erreur maintenant :
    Warning: mssql_query() [function.mssql-query]: Sybase: Server message: Arithmetic overflow error converting expression to data type datetime.

  6. #6
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 042
    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 : 22 042
    Billets dans le blog
    6
    Par défaut
    Le type TIMESTAMP n'est pas un type de données temporel. C'est un marqueur de version de ligne. Aucune opération de date n'est cohérente sur ce type de données.
    Le type de données qui inclus la date et l'heure est DATETIME et non TIMESTAMP. D'ailleurs le nom TIMESTAMP va disparaître au profit de ROW_VERSION.

    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/ * * * * *

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    530
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 530
    Par défaut
    quelque chose dans le genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    $dateDebut=date("Y-m-d", mktime(0,0,0,mois,1,annee));
    $dateFin=date("Y-m-d", mktime(0,0,0,mois,31,annee));
     
    $query_rsDate="select * from maTable where id_matableDeLaison = ".$id. " and (monchpDate>'".$dateDebut."' AND monchpDate<'".$dateFin."')";
    sachant que c'est pas tout à fait ça parce qu'il te faut composer avec les mois de 28, 29 (bissextile), 30 ou 31 jours

    Mais la requête de base c'est ça

    Sauf que si "id_matableDeLaison" est un identifiant unique cela risque d'être maigre au niveau des réponses

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 18/06/2012, 15h53
  2. Opération sur une date sous SUN SOLARIS
    Par didface dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 07/09/2010, 22h50
  3. opération sur une date
    Par openlife dans le forum Développement
    Réponses: 1
    Dernier message: 19/11/2008, 19h39
  4. [SQL] Conditions sur une date dans une requete
    Par poufouille dans le forum Bases de données
    Réponses: 4
    Dernier message: 17/03/2004, 14h25
  5. opérations sur les dates
    Par coucoucmoi dans le forum Débuter
    Réponses: 2
    Dernier message: 12/08/2003, 11h45

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