1. Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm
    Information ausblenden

SQL Befehl funktioniert nicht

Dieses Thema im Forum "MySQL und MariaDB" wurde erstellt von Micha0992, 3 Februar 2020.

  1. Micha0992

    Micha0992 Neuer Benutzer

    Hallo,
    Ich programiere seit einiegen Monaten an meinem eigenen Forum und stehe gerade vor ein ziemlich blöden Problem: dieser Befehl funktioniert nicht, es werden keine Einträge geladen und es gibt auch keine Fehlerausgabe.

    SELECT * FROM User WHERE Email = '1' AND ID != '0' AND Age BETWEEN '18' AND '100' ORDER BY Birthday

    Seltsam ist nur das das hier funktioniert ...

    SELECT * FROM User WHERE Email = '1' AND ID != '0' AND Age BETWEEN '18' AND '99' ORDER BY Birthday

    Der gleiche Befehl nur mit Werten unter 100 funktioniert Problemlos.

    Was mache ich Falsch? Ich würde mich sehr über etwas Hilfe freuen.
     
  2. akretschmer

    akretschmer Datenbank-Guru

    falsche Datentypen.

    Code:
    test=*# select '18' < '100';
     ?column?
    ----------
     f
    (1 row)
    
    test=*# select '18' < '99';
     ?column?
    ----------
     t
    (1 row)
    
    test=*#
    
    Du vergleichst Strings, und '18' ist damit NICHT kleiner als '100'.

    Im übrigen ist da noch mehr falsch:

    • falsche Datentypen
    • das Alter ändert sind meist ab und an im Jahr, das speichert man also nicht als festen Wert, sondern berechnet das passend
    • select * ist auch falsch

    viel Spaß noch mit dem Müll ...
     
    Zuletzt bearbeitet: 3 Februar 2020
    Micha0992 gefällt das.
  3. Micha0992

    Micha0992 Neuer Benutzer

    Ich merke schon, das ich das nicht bis zu ende gedacht habe ...
    aber vielen Dank für die schnelle Antwort.

    ich habe das ganze jetzt mit dem Geburtsdatum berechnet und es hat geklappt :)
     
    akretschmer gefällt das.
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden