Partage
  • Partager sur Facebook
  • Partager sur Twitter

Sélectionner les valeurs d'un tableau par type

Sujet résolu
    4 mai 2022 à 12:47:44

    Bonjour,

    Je voudrais sélectionner toutes les valeurs dans les colonnes du type 'float' de mon tableau mais je n'arrive pas à trouver la syntaxe pour ma requête SQL.

    Je pensais à quelque chose du type : SELECT * FROM table WHERE DATA_TYPE = 'float' mais ca ne fonctionne pas.

    L'erreur qui s'affiche est : mysql.connector.errors.ProgrammingError: 1054 (42S22): Unknown column 'DATA_TYPE' in 'where clause'

    Merci à qui pourra me donner la syntaxe correcte pour cette requête!

    -
    Edité par Marwik 4 mai 2022 à 12:49:46

    • Partager sur Facebook
    • Partager sur Twitter
      4 mai 2022 à 20:36:21

      Bonjour,

      Le type d'une colonne est fixe...

      Si ta colonne est de type VARCHAR, MySQL n'y verra que des caractères alphanumériques, même si tu stockes la valeur "123.45"...

      Quel est le type de la colonne en question ?

      • Partager sur Facebook
      • Partager sur Twitter
      Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
        5 mai 2022 à 10:37:11

        Bonjour,

        Oui je sais que le type d'une colonne est fixe, j'ai du mal m'exprimer donc je reformule:

        J'ai un tableau avec un grand nombre de colonnes dont certaines sont de type VARCHAR et d'autres de type FLOAT.

        Je voudrais une requête qui renvoie ce tableau avec juste les colonnes de type FLOAT et donc les valeurs présentes dans ces colonnes.

        Merci d'avance!

        • Partager sur Facebook
        • Partager sur Twitter
          5 mai 2022 à 19:06:52

          OK.

          Pour obtenir le type des colonnes d'une table il faut impérativement passer par la base information_schema.

          Exemple pour la liste des colonnes de type FLOAT :

          SELECT column_name
          FROM information_schema.columns
          WHERE
          	table_name = 'nom de la table'
          	AND table_schema = 'nom de la base'
          	AND column_type = 'float'

          Cette requête te retourne une liste de noms de colonne, il te faut ensuite, traiter ce retour pour construire une nouvelle requête avec dans la clause SELECT les noms de colonne récupérer plus tôt.

          -
          Edité par Benzouye 5 mai 2022 à 19:07:50

          • Partager sur Facebook
          • Partager sur Twitter
          Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
            6 mai 2022 à 16:11:56

            Ça marche merci beaucoup!
            • Partager sur Facebook
            • Partager sur Twitter

            Sélectionner les valeurs d'un tableau par type

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            • Editeur
            • Markdown