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

Requêtes MySQL Discussion :

Modifier le champ jour d'une date dans mysql


Sujet :

Requêtes MySQL

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 181
    Points : 78
    Points
    78
    Par défaut Modifier le champ jour d'une date dans mysql
    Bonjour,
    J'ai plusieurs dates dans une table du style "2008-07-02". J'aimerais mettre à tous les jours de ma date "00" à la place des jours déjà mis...
    ex : "2008-07-00"

    Comment faire svp ???

    UPDATE table SET date=...

    Merci d'avance

  2. #2
    Membre éprouvé Avatar de Mathusalem
    Profil pro
    IT moa
    Inscrit en
    Décembre 2003
    Messages
    1 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : IT moa

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 008
    Points : 1 067
    Points
    1 067
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cast(datepart(year,ladate) as varchar(4))+ '/' + cast( datepart(month,ladate) as varchar(2)) + '/00'
    ce n'est évidement plus une date, mais une chaîne de caractère, vu qu'il n'y a pas de jour 0

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 181
    Points : 78
    Points
    78
    Par défaut
    Oula merci mais ça ne marche pas...

    Je vous donne exactement le nom de ma table. Je l'ai appelé "date" et le champ à l'intérieur "datefr" ce qui doit faire ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    UPDATE date SET datefr=cast(datepart(year,ladate) AS varchar(4))+ '/' + cast( datepart(month,ladate) AS varchar(2)) + '/00'
    Que mettre à la place de datepart ? et à la place de ladate ?

    Je veux que ça reste une date malgré tout de la forme "année-mois-00".

    Merci d'avance.

  4. #4
    Membre éprouvé Avatar de Mathusalem
    Profil pro
    IT moa
    Inscrit en
    Décembre 2003
    Messages
    1 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : IT moa

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 008
    Points : 1 067
    Points
    1 067
    Par défaut
    tu ne peux pas mettre dans un champ de type datetime, quelque chose qui n'est pas une date : mets ça dans un varchar

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 181
    Points : 78
    Points
    78
    Par défaut
    Le type de ma date est "DATE" !

    Et en faisant la modification à la main sur une requête, ça fonctionne si on met des "00"...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE `date` SET `datefr` = '2008-03-00' WHERE `datefr` = '2008-03-11' LIMIT 1 ;
    Mon programme par la suite verra que la date du jour est 00 et j'ai une fonction qui ne prendra ainsi que le mois donc ça serait bien juste que je puisse modifier tous les jours de mes dates et mettre "00"...

    Rien n'est impossible en mysql je pense ??

  6. #6
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 284
    Points : 11 738
    Points
    11 738
    Par défaut
    En théorie, si on met un type DATE, c'est précisément pour interdire les dates invalides de ce genre. En pratique, MySQL admet d'avoir un jour 00 ou une combinaison 00-00 comme mois-jour.

  7. #7
    Membre expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Points : 3 950
    Points
    3 950
    Par défaut
    En effet, une requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE `date` SET `datefr`=CONCAT(YEAR(`datefr`),'-',MONTH(`datefr`),'-00')
    donne bien le résultat attendu.

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

Discussions similaires

  1. [AC-2007] modification et mise à jour d'une date dans un formulaire
    Par lemautchisig dans le forum IHM
    Réponses: 1
    Dernier message: 01/03/2011, 11h52
  2. Mise à jour d'une date dans un enregistrement
    Par Zoethibault dans le forum VBA Access
    Réponses: 1
    Dernier message: 23/12/2009, 14h03
  3. [AC-2003] Mise à jour d'une date dans une table en fonction d'un critère
    Par carlostropico dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 09/12/2009, 18h07
  4. Mise à jour d'une date dans MySQL
    Par champijulie dans le forum JDBC
    Réponses: 6
    Dernier message: 07/02/2007, 17h02
  5. [MySQL] mise à jour d'une date dans une table
    Par jophp dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 25/10/2006, 20h48

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