Jump to content
radiomagazin

Datum berechnen mit Zahl

Recommended Posts

Hallo Zusammen,

 

ich habe die folgende Beispieltabelle.

Kann mir jemand sagen wie ich das Datum des Timespan ermitteln kann ??

 

MFG Ingo

 

Feld [Datum]                Feld [Erinnerung vorher]

2020-06-29 01:07:51    NULL
2020-06-29 01:07:51    NULL
2020-06-29 01:07:51    NULL
2020-06-29 01:07:51    NULL
2020-06-29 01:07:51    -36000000000
2020-06-29 01:07:51    NULL
2020-06-29 01:07:51    -36000000000
2020-06-29 01:07:51    NULL
2020-06-29 01:07:51    NULL
2020-06-29 01:07:51    NULL
2020-06-29 01:07:51    -36000000000
2020-06-29 01:07:51    -72000000000
2020-06-29 01:07:51    NULL
2020-06-29 01:07:51    NULL
2020-06-29 01:07:51    324000000000

Share this post


Link to post

Moin,

 

die Frage verstehe ich nicht recht. Geht es darum, aus "2020-06-29 01:07:51" nur das Tagesdatum zu extrahieren? Dafür eignet sich die FORMAT-Funktion.

 

[How to Format the Date & Time in SQL Server | Database.Guide]
https://database.guide/how-to-format-the-date-time-in-sql-server/


[FORMAT (Transact-SQL) - SQL Server | Microsoft Docs]
https://docs.microsoft.com/en-us/sql/t-sql/functions/format-transact-sql?view=sql-server-ver15


Gruß, Nils

 

Share this post


Link to post

Das erste Datum habe ich nur als Beispiel genommen.

In dem Feld namens Datum stehen richtige Datumsangaben eines Termines.

In einem 2. Feld Erinnerung vorher steht eine Zahl wie oben in der Tabelle zu sehen ist.

Ich möchte aber anstelle dieser Zahl das Datum / Uhrzeit der Erinnerung haben.

Daher brauche ich eine Formel, die mir z.B. in der Zeile 5

 

von einem Datum das z.B. 2020-06-29 sein kann die Erinnerung von -36000000000 abzieht und

ich mittels Forme dann im 3. Feld (z.B. Erinnerung:" den Wert 27.06.2020 stehen habe statt der -xxxxxxxx

 

Jetzt klarer geworden ?

Share this post


Link to post

Moin,

 

nein, das verstehe ich nicht. Wie zieht man eine Erinnerung von einer großen negativen Zahl ab? Du müsstest das schon etwas vollständiger erklären.

 

Nur mal so ins Blaue geschossen:

[DATEADD (Transact-SQL) - SQL Server | Microsoft Docs]
https://docs.microsoft.com/en-us/sql/t-sql/functions/dateadd-transact-sql?view=sql-server-ver15


Aber trotzdem wäre es nett, wenn du dich um Verständlichkeit deiner Fragen bemühst.

 

Gruß, Nils

 

Edited by NilsK

Share this post


Link to post

OK Mal Ganz Einfach:

Feld 1 = 2020-06-29 08:00:00.000 -> steht für den Termin am 29.06.2020 um 08:00 Uhr !!!

Feld 2 = -36000000000 -> Steht so in der Tabelle für die Erinnerung 1 Stunde vorher

-72000000000 -> Steht für 2 Stunden vorher

 

Das Feld 3 das ich gerne berechnet hätte würde somit 29.06.2020 um 07:00 Uhr ergeben !!!

 

Beispiel aus der Software: und aus SQL

 

image.png.ade6050c2d51b87764351bcb8a5755a4.png

 

image.png.62eed5e3f4334d297c90dc2e46c9dfd0.png

 

image.png

Share this post


Link to post

Moin,

 

ah, siehste. Geht doch. Nächstes Mal liefere die Informationen doch gleich. Dann kannst du dir auch die Ausrufezeichen sparen.

 

Für dein Vorhaben sollte DATEADD() passen, siehe Link oben. Sofern ich es richtig überschlage und es sich bei "timespan" um Nanosekunden handelt, kannst du das direkt als Parameter angeben, sonst musst du den Wert eben noch umrechnen.

 

Gruß, Nils

  • Thanks 1

Share this post


Link to post

Super Idee, aber es funktioniert nicht.

Kann ja jeder selber mal ausprobieren:

 

SELECT DATEADD(NS,-36000000000, CONVERT(nvarchar, GETDATE(), 20))

wobei  CONVERT(nvarchar, GETDATE(), 20) ja für das jetzige Datum und Zeit steht.

 

---> Arithmetischer Überlauffehler beim Konvertieren von expression in den int-Datentyp.

Share this post


Link to post

Nutzt du Nanosekunden?

SELECT DATEADD(MS,-36000000000, CONVERT(nvarchar, GETDATE(), 20))

 

Oder versuche mal:

SELECT DATEADD(MS,-36000000000, GETDATE())

 

EDIT:

Oder millisecond statt MS. Die ganzen Beispiele sind mit den ausgeschriebenen texten:

https://docs.microsoft.com/en-us/sql/t-sql/functions/dateadd-transact-sql?view=sql-server-ver15

Edited by Dukel

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


Werbepartner:



×
×
  • Create New...