Problem mit >= und <=

hikeda_ya

Erfahrenes Mitglied
Servus,

kann mir jemand sagen wo mein denkfehler ist

ich habe 2 Spalten ((von & bis ) varchar 50) in denen ich die Kalenderwoche stehen habe im format jj/kw (zum beispiel
id von bis
1 06/35 06/36
2 06/36 06/38
3 06/37 06/38

wenn ich jetzt eine Abfrage starte

PHP:
select * from Tabelle
where von >= 06/36
and bis <= 06/36

bekomme ich als Ergebniss

id blub von bis
2 xx 06/36 06/38

warum wird id 1 nicht auch als true erkannt
 
Zuletzt bearbeitet:
Der Slash / ist hier wohl das störende Element. Die Vergleichsoperatoren <= und >= sind auch eigentlich nicht für den Vergleich von Strings gedacht.
Mach den Slash / weg und probier es dann nochmal, sollte gehen. Oder überdenk deine Datenbankstruktur.

PS: Was hat das mit PHP zu tun?
 
Zuletzt bearbeitet:
stimmt - an den / hab ich nicht gedacht.
(geht aber mit Ganzzahl (0636) auch nicht

bin noch zu neu in dem ganzen

@ps. dachte ich hab im php script den Fehler gemacht


wenn nicht >= was kann ich dann verwenden oder gibt es einen Datentyp Kalenderwoche
 
Zuletzt bearbeitet:
Vielleicht klappts damit:
SQL:
select * from Tabelle
where STRCMP(von,'06/36') >= 0
and STRCMP(bis,'06/36') <= 0
 
Ich sehe das Problem eigentlich in der Datenstruktur. Aus Deinen Angaben geht nicht hervor, wofür oder wie Du die Daten benötigst. Ersetze Dein Konstrukt durch ein einfaches Datumfeld. Das Jahr, bzw. Kalenderwoche lassen sich dann über DB-Funktionen auslesen, bzw. filtern.
 
Zurück