SQL Befehl funktioniert nicht

Micha0992

Neuer Benutzer
Beiträge
2
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.
 
Werbung:
Was mache ich Falsch?

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:
Werbung:
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 ...

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 :)
 
Zurück
Oben