Partage
  • Partager sur Facebook
  • Partager sur Twitter

Suppression de '00' en fin de date

    19 novembre 2010 à 10:08:40

    Bonjour,
    Je cherche à supprimer grâce à une requête sql le '00' en fin des dates de naissance des utilisateurs qui ont saisient le '00' sur le champs jour et de laisser que le mois et l'année. (par ex: 19751200 ---->197512)
    Par contre les autres utilisateurs je laisse la même structure 'jour-mois-annee' (par exemple: (19981215)
    donc nous avons 8 caractères pour la date de naissance
    Merci :euh:
    • Partager sur Facebook
    • Partager sur Twitter
      19 novembre 2010 à 10:12:36

      je ne suis pas sûr que tu puisse contenir 2 format de date différent dans un seul champs, le plus simple est surement de traité ce cas avant de l'ajouter en base, en remplaçant le 00, par 01 par exemple
      • Partager sur Facebook
      • Partager sur Twitter
        19 novembre 2010 à 10:17:40

        j'ai sur ma table 2300 date de naissance et il faut chercher une requête sql qui fait le travail
        Oui tu as raison j'ai oublié de traiter ça avant de le mettre sur la base.
        en faite le champ date_naissance et de type integer
        donc il peut y avoir plusieurs format
        • Partager sur Facebook
        • Partager sur Twitter
          19 novembre 2010 à 10:29:45

          ok si c'est de type integer, tu peux faire un petit script qui récupére toutes tes entrée, et tu vas updater celle qui finissent par 00 à l'aide d'une regex, mateo en a parlé dans la partie PHP

          en gros sa va faire en PHP (sinon il faut adapter
          $var="SELECT..."
          foreach($var as $value)
          {
          if(ta regex ici=true)
          {
          UPDATE ICI
          }

          }
          $var est un tableau, et sinon pou ne plus à repasser dessus, tu gére ce cas pour les nouveaux inscrit
          • Partager sur Facebook
          • Partager sur Twitter
            19 novembre 2010 à 11:00:58

            Le but c'est de trouver une requete sql de ce genre:
            update utilisateur set date_naissance ='(ce que je cherche) ' where date_naissance like '%00'
            • Partager sur Facebook
            • Partager sur Twitter
              19 novembre 2010 à 17:19:01

              je ne suis pas sûr ce ça soit possible de faire l'équivalent d'un REGEX en SQL
              • Partager sur Facebook
              • Partager sur Twitter
                19 novembre 2010 à 17:28:43

                @icewind : Bien sûr que c'est possible, mais pas pour sélectionner une partie d'une chaîne.

                @markox : Je peux comprendre qu'un membre ne veuille pas renseigner son année de naissance, mais... son jour de naissance ? Quel est l'intérêt ? Je vois difficilement l'intérêt de savoir qu'un membre est né un juin 1979 si on ne connait même pas le jour.

                Enfin, pour ce que tu veux faire, tu vas devoir regarder du côté de la fonction SUBSTRING().

                P.S. Pourquoi n'utilises-tu pas le type DATE ? Si j'avais un tel système à faire, je demanderais la date de naissance complète au membre, avec la possibilité de cacher l'âge/l'année de naissance, voire même tout au complet si le membre ne désire pas afficher une partie de sa date. Mais ne pas afficher le jour (ou le mois) n'a pas beaucoup de sens.
                • Partager sur Facebook
                • Partager sur Twitter

                Suppression de '00' en fin de date

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown