Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hallo,

ich weiss es gibt bessere Methoden diese Problematik zu lösen aber ich habe folgendes gemacht:

Ich habe in meiner Datenbank eine Tabelle angelegt wo die Spalten "Tag", "Monat" und "Jahr" enthalten sind. Diese wollte ich jetzt geordnet ausgeben lassen. Sprich, ich möchte von dem heutigen Tag bis zum Ende diesen Jahres alle Einträge ausgeben lassen. Dem entsprechend habe ich meine SQL-Abfrage folgendermaßen gestaltet:


SELECT * FROM bgt_action WHERE Tag BETWEEN '" + DateTime.Now.Day + "' AND '31' AND Monat BETWEEN '" + DateTime.Now.Month + "' AND '12' AND Jahr BETWEEN '" + DateTime.Now.Year + "' AND '" + DateTime.Now.Year + "' ORDER BY Jahr, Monat, Tag

Ein paar Einträge hat diese Befehl immer ausgegeben und einige nicht obwohl diese auch hätten ausgegeben werden sollen. Ich find den Fehler irgendwie net.

deine einschränkenden kriterien sind falsch.

bedenke insbesonders, dass tage von monaten und monate wiederum von jahren abhängig sind. du suchst ja auch immer heute bis 31., egal welcher monat, d.h. dati von den vorherigen monaten, die nicht im tage-kriterium drin sind, fehlen dir ;)

z.b. heute am 13. bekommst du für alle monate immer nur alle ergebniszeilen von 13./14. bis zum 31.

hast du das jeweilige datum nicht als DATE-feld?

alternativ mach aus T.M.J temporär ein DATE und daraus ein WHERE.

s'Amstel

deine einschränkenden kriterien sind falsch.

z.b. heute am 13. bekommst du für alle monate immer nur alle ergebniszeilen von 13./14. bis zum 31.

s'Amstel

ja das ist doch richtig oder habe ich da einen denkfehler in meiner logik? ich möchte doch nur vom 13. bis zum 31., dann nur vom juli bis dezember und nur alle einträge ausn jahr 2008 ausgeben lassen.

neee hab kein datumsfeld. habe das datum in jede einzelne spalte aufgeteilt. ähm, hast du vielleicht ein gutes tutorial wie man mit datumformaten richtig arbetiet u.s.w. ?

ja, du hast da einen denkfehler. mit deinem SQL bekommst du *immer* nur alle tage, die der 13. bis zum 31. sind, niemals aber den 4. dezember oder den 11. mai.

wenn du das selber aufgeteilt hast und es nicht irgendeine nicht behebbare altlast ist: mach das mit den drei einzelnen datumsformaten weg - das ist bäh - und nimm DATE (abhängig von deinem DBMS, das du nicht angegeben hast).

s'Amstel

Ah, jetzt hat's klick gemacht. Stimmt irgendwie! Frage mich gerade wieso ich das nicht vorher gesehen hab :upps

Gibt es denn irgendwo ein gutes Tutorial wie man richtig mit Datumsformaten arbeitet?

Hab mich jetzt noch einmal ein wenig durch das Themengebiet "DateTime" u.s.w. gewühlt und hab's endlich verstanden! :)

Trotzdem vielen Dank! Werde meine Seite jetzt so umgestalten :)

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.