Dieser Beitrag ist schon älter. Bitte vergewissern Sie sich, dass die Rahmenbedingungen oder der enthaltene Lösungsvorschlag noch dem aktuellen Stand der Technik entspricht.

SQL - Dymanisches Datum und Uhrzeit

Mitglied: cyborg1984
Hallo,

wie bekomme ich es hin, dass mir eine SQL Anweisung einen Wert für "Gestern 6:00 Uhr" zurückgibt.

Ich könnte es zwar mit dem Befehl

SELECT DATEADD (hour, -18, convert (datetime, convert(char(11), current_timestamp)))

zurückgeben lassen, jedoch wird dabei nicht die Sommerzeit berücksichtigt.

Der Befehl

SELECT CONVERT (datetime, CONVERT(varchar(10), GetDate()-1, 104))

liefert mir gestern 0 Uhr zurück, jedoch immer noch nicht das, was ich will.


Ein weiterer Befehl müsste mir "heute 6:00 Uhr" zurückgeben, jedoch dürfte das kein großer Unterschied sein.

Ich brauche das für eine Abfrage, die mir alle Datensätze liefert, die von gestern 6:00 Uhr bis heute 6:00 Uhr angelegt wurden.

Danke für die Hilfe,
Viktor

Content-Key: 35358

Url: https://administrator.de/contentid/35358

Ausgedruckt am: 03.12.2021 um 19:12 Uhr

Mitglied: filippg
filippg 04.07.2006 um 14:52:51 Uhr
Goto Top
Hallo,

wenn du schon bei gestern 0 Uhr bist dann rechne doch einfach noch 30 Stunden drauf. Gibt halt nur mal wieder bei Sommer-/Winterzeitumstellung Probleme...
Und dann wandele das ganze doch noch in eine stored Procedure um (je nach verwendeter DB), dann sieht das auch gleich noch viel hübscher aus.

Filipp
Mitglied: cyborg1984
cyborg1984 04.07.2006 um 14:59:18 Uhr
Goto Top
Hallo,
erstmal danke für die Antwort.

Ja, aber genau das ist mein Problem. Ich bekomme die Syntax nicht hin...
Bin nicht so der SQL-Profi.

Aber gestern 0 Uhr bringt mich ja auch nicht weiter, da ich ja gestern 6 Uhr brauche.
Mitglied: filippg
filippg 04.07.2006 um 15:59:03 Uhr
Goto Top
SELECT CAST(CONVERT(varchar, GETDATE()-1, 101) + ' 06:00' AS datetime)

(Zumindest für MSSQL, du hast leider nicht geschrieben welche DB du verwendest).
Ist übrigens sogar Zeitumstellungstauglich, da die 6 nicht in Stunden hinzugerechnet wird, sondern als String angehängt (an das gestrige Datum ohne Uhrzeit) und dann in ein DateTime umgewandelt wird.

Filipp

Edit:
"Dein Befehl gibt mir heute 6 Uhr zurück, was mich ja schonmal weiterbringt." hatte ich mittlerweile auch schon korrigiert.
Mitglied: cyborg1984
cyborg1984 04.07.2006 um 16:03:07 Uhr
Goto Top
Hi.
Ich verwende den MS SQL Server 2000.

Dein Befehl gibt mir heute 6 Uhr zurück, was mich ja schonmal weiterbringt.
Und mit
SELECT CAST(CONVERT(varchar, GETDATE()-1, 101) + ' 06:00' AS datetime)
krieg ich auch gestern 6 Uhr.

Dankeschön!
Viktor
Heiß diskutierte Beiträge
imho
Wir müssen über Corona und das Impfen redenFrankVor 1 TagIMHOOff Topic59 Kommentare

Ich denke, dass geht uns alle an und daher will ich meinen Beitrag dazu leisten, um über Corona und das Impfen aufzuklären. Ich habe bereits ...

general
Echt jetzt? Es werden kommentarfrei Beiträge gelöscht?VisuciusVor 1 TagAllgemeinOff Topic16 Kommentare

Frank: Das hätte ich so nicht erwartet! Erst eine politische Diskussion vom Zaun brechen und dann mit den Antworten überfordert sein?! Ich hatte lediglich darauf ...

question
Browser Zertifikatswarnung lösen?IT-heilt-NIEVor 1 TagFrageVerschlüsselung & Zertifikate13 Kommentare

Hallo an alle, ich benötige mal eure Hilfe, da ich mich mit dem Thema Zertifikate noch nicht gut auskenne. Ich komme gleich mal zum Punkt. ...

question
Ursache für Auslösung Storm-Control Cisco SG350Xlcer00Vor 1 TagFrageNetzwerke17 Kommentare

Hallo zusammen, heute morgen gab es bei uns einen unplanmäßigen Stomausfall, der zum ungraceful-Shutdown der Server sowie der Switche (2 gestackte SG350) führte. Nach Wiederhochfahren ...

tip
Download AdventskalenderMrCountVor 1 TagTippUtilities2 Kommentare

Servus zusammen, auch dieses Jahr bieten wieder einige Webseiten einen Adventskalender mit kostenloser Software an. Hier eine kleine Liste: Vielleicht ist ja für den ein ...

question
Windows 2016 Laufwerk C erweitern D verkleinernr2d2r3poVor 1 TagFrageWindows Server17 Kommentare

Hallo, wir haben hier einen Windows 2016 Server bei den die C-Platte langsam voll wird, aber die D-Platte fast leer ist. Wir kann ich ohne ...

question
"Treesize" für Ordner in einem Outlook-Postfach gelöst StefanKittelVor 1 TagFrageOutlook & Mail2 Kommentare

Hallo, ich habe hier ein Hosted-Exchange-2016-Postfach welches in einem Outlook 2016 eingebunden ist. Dies enthält ca. 500 Ordner und ist fast 100 GB groß. Kennt ...

question
Hausüberwachung Kameraingo1988Vor 20 StundenFragePeripheriegeräte8 Kommentare

Hallo an alle, ich möchte ab sofort mein Haus mit Kameras überwachen lassen. Es sollen 4 Kameras außen am Haus angebracht werden. Ich möchte die ...