d2jsp
Log InRegister
d2jsp Forums > Off-Topic > International > Deutsch > Sql - Sequel Datenbankenprogrammierung
Prev123Next
Add Reply New Topic New Poll
Member
Posts: 21,677
Joined: Dec 6 2015
Gold: 59,337.00
Apr 28 2023 12:48am
Quote (xPoizar @ 28 Apr 2023 08:44)
Noch hab ich keine Fragen, würde mich evtl vor Prüfungen nochmal melden?


:rofl:
Member
Posts: 21,795
Joined: Jun 1 2006
Gold: 2,602.96
Apr 28 2023 02:40am
lol ich entwickle seit jahren 3x die woche datenbanken
würde dich easy fertig machen^^
btw plus kommts auf die mentalität drauf an und den code den man hat
naja ich bin ein psycho leute habe respect von mir, mich fickt keiner an auch nicht die die mich hacken könnten,
weil sie wissen ich komme dann einfach wieder mit chatgpt oder google!
Member
Posts: 10,597
Joined: Sep 12 2008
Gold: 4,200.00
Apr 28 2023 02:51am
Kommt alle her 1 gegen 1 kotduell.
Select * from dich weg alter.
Es kann keine zwei geben.
Wenn ich mir dir fertig bin, machst wieder Telefonsupport und kannst an die Profis Weiterleiten, aber erst nachdem der 2nd Level sich dem Problem angenommen hat und nicht weiter kommt. Lol alter, bekommst nicht Mal n leftjoin auf die Kette. Das lernen Inder bereits bevor sie in den Ganges geworfen werden als Taufprozess. XD ihr seid so fertig.
Member
Posts: 26,054
Joined: Jan 6 2008
Gold: 79.37
Apr 28 2023 02:56am
sorry bruder
kenne mich nur mit mongo aus
Member
Posts: 351
Joined: Apr 27 2023
Gold: 0.00
Warn: 10%
Apr 28 2023 03:03am
Was? Du machst eine Weiterbildung zum Datenbankentwickler und brauchst Hilfe? Ehrlich gesagt, das klingt für mich ein bisschen lächerlich. Aber gut, ich werde versuchen, mein Bestes zu geben und deine Fragen zu beantworten. Also, worum geht es denn genau? Was möchtest du wissen?




Member
Posts: 516
Joined: Jan 8 2023
Gold: 0.00
May 2 2023 07:35am
So zur meiner ersten Frage:
Ich habe eine Tabelle in der in eine Spalte "Geburtsdatum" die Daten von Personen im Format "YYYY-MM-DD" auflistet
Jetzt soll ich alle Personen anzeigen lassen die zwischen dem heutigen Datum und den nächsten 7 Tagen Geburtstag haben.
Mein Denkansatz bisher ist mit einer Between funktion und Current_date AND dateadd(currentdate, interval 7 days) zu arbeiten

SELECT * FROM `mitglied`
WHERE geburtstag BETWEEN CURRENT_DATE AND
DATEADD(CURRENT_DATE, INTERVAL 7 DAYS);

soweit bin ich schon. Leider Syntax Fehler weil er Dateadd nicht verarbeiten kann und selbst wenn es funktioniert, würde es an den Jahreszahlen scheitern.
Diese sind zwar in der Tabelle aber sollen bei der Abfrage nicht berücksichtig werden.

Jemand ne Idee?

This post was edited by xPoizar on May 2 2023 07:37am
Member
Posts: 22,284
Joined: Mar 1 2013
Gold: 3,842.04
May 2 2023 08:00am
Quote (blah2k6 @ 28 Apr 2023 08:31)
Mag es gar nicht wenn jemand "sequel" zu SQL sagt :angry:
Machen die ganzen Engländer bei uns

Wobei brauchst du denn Hilfe? Hast du ne konkrete Frage?



https://imgs.xkcd.com/comics/exploits_of_a_mom.png


das, solche leute gehören verbrannt
Member
Posts: 89,859
Joined: Sep 23 2006
Gold: 2,000.01
May 2 2023 08:36am
Quote (xPoizar @ 2 May 2023 15:35)
So zur meiner ersten Frage:
Ich habe eine Tabelle in der in eine Spalte "Geburtsdatum" die Daten von Personen im Format "YYYY-MM-DD" auflistet
Jetzt soll ich alle Personen anzeigen lassen die zwischen dem heutigen Datum und den nächsten 7 Tagen Geburtstag haben.
Mein Denkansatz bisher ist mit einer Between funktion und Current_date AND dateadd(currentdate, interval 7 days) zu arbeiten

SELECT * FROM `mitglied`
WHERE geburtstag BETWEEN CURRENT_DATE AND
DATEADD(CURRENT_DATE, INTERVAL 7 DAYS);

soweit bin ich schon. Leider Syntax Fehler weil er Dateadd nicht verarbeiten kann und selbst wenn es funktioniert, würde es an den Jahreszahlen scheitern.
Diese sind zwar in der Tabelle aber sollen bei der Abfrage nicht berücksichtig werden.

Jemand ne Idee?


Welche Datenbank benutzt du denn?

Falls Oracle kannst du BETWEEN SYSDATE AND SYSDATE+7 verwenden.
Wichtig bei between ist, dass der "kleinere" (frühere) Wert vor dem AND kommt

/e: außerdem sollte man berücksichtigen dass Datumswerte immer alle Informationen beinhalten (Tag, Monat, Jahr, Stunden, Minuten, Sekunden)
D.h. man muss das ganze evtl ohne die Uhrzeit betrachten (bzw. bei Geburtstagen sogar auch ohne das Jahr)

Würde vmtl. "heute" und "heute in 7 Tagen" jeweils als strings konvertieren und ins Format MMDD bringen.
Bei Oracle:
TO_CHAR(geburtstag, 'MMDD') BETWEEN TO_CHAR(SYSDATE, 'MMDD') AND TO_CHAR(SYSDATE+7, 'MMDD')

Falls andere DB dann schauen, welche Funktion dort Date in Varchar konvertiert.

Das alles unter der Annahme, dass "geburtstag" im Datentyp Date gespeichert ist.

This post was edited by blah2k6 on May 2 2023 08:47am
Member
Posts: 94
Joined: Mar 12 2023
Gold: 3,738.00
May 2 2023 09:28am
Quote (xPoizar @ May 2 2023 03:35pm)
So zur meiner ersten Frage:
Ich habe eine Tabelle in der in eine Spalte "Geburtsdatum" die Daten von Personen im Format "YYYY-MM-DD" auflistet
Jetzt soll ich alle Personen anzeigen lassen die zwischen dem heutigen Datum und den nächsten 7 Tagen Geburtstag haben.
Mein Denkansatz bisher ist mit einer Between funktion und Current_date AND dateadd(currentdate, interval 7 days) zu arbeiten

SELECT * FROM `mitglied`
WHERE geburtstag BETWEEN CURRENT_DATE AND
DATEADD(CURRENT_DATE, INTERVAL 7 DAYS);

soweit bin ich schon. Leider Syntax Fehler weil er Dateadd nicht verarbeiten kann und selbst wenn es funktioniert, würde es an den Jahreszahlen scheitern.
Diese sind zwar in der Tabelle aber sollen bei der Abfrage nicht berücksichtig werden.

Jemand ne Idee?


Welche DB hast du denn installiert? Wirklich plain mySQL?
Manche Funktionen sind je nach DB unterschiedlich, bzw. nicht unterstützt. Gerade MariaDB hat bei bestimmten Funktionen in diversen majors ganz besondere Angewohnheiten... Vielleicht hilft dir diese Seite weiter:

https://mariadb.com/kb/en/date_add/

Als workbenchen kannst du evtl. mal MySQL Workbench oder HeidiSQL ausprobieren, je nachdem was du schon kennst oder dich noch garnicht festgelegt hast.
Member
Posts: 46,162
Joined: Jan 27 2007
Gold: 228.21
May 2 2023 09:30am
SELECT * FROM mitglied
WHERE DATE_FORMAT(geburtstag, '%m-%d') BETWEEN
DATE_FORMAT(CURDATE(), '%m-%d') AND
DATE_FORMAT(DATE_ADD(CURDATE(), INTERVAL 7 DAY), '%m-%d');

Go Back To Deutsch Topic List
Prev123Next
Add Reply New Topic New Poll