Tag: "datum"

Der ultimative Guide für die Datetime Datentypen

Original von Tibor Karaszi; deutsche Übersetzung von Frank Kalis Überblick Zweck dieses Artikels ist es zu erklären, wie die Datetime Datentypen in SQL Server arbeiten; einschliesslich häufig auftretender Stolperfallen und allgemeinen Empfehlungen im… mehr »

Periodengerechte Abgrenzung durch GROUP BY

Angenommen, wir haben die Aufgabe eine Urlaubsliste zu generieren, die zur Urlaubsplanung verwendet werden soll. Die Basistabelle ist recht einfach aufgebaut: mehr »

Ermittlung eines bestimmten Datums mit T-SQL

Heute ist der 05.12.2007. Was muss ich nun machen, um den letzten Sonntag davor in T-SQL zu ermitteln?Ein Blick in den Kalendar zeigt, daß als Ergebnis der 02.12.2007 herauskommen muss. Die bisher einfachste und sicherste Methode, die ich gefunden habe… mehr »

Minuten in Stunden umwandeln

DECLARE @seconds INT DECLARE @hours INT DECLARE @minutes INT -- SET @seconds = 3661 SET @hours = FLOOR(@seconds/(60*60)) SET @minutes = FLOOR((@seconds - (@hours*3600))/60) -- SELECT RIGHT('0' + CONVERT(VARCHAR(2), @hours), 2) + ':' + RIGHT('0' +… mehr »

Datumsarithmetik

Da sitzt man abends völlig entspannt am Schreibtisch, blättert in alten Unterlagen aus der Studienzeit weil man sich an gewisse mathematische Zusammenhänge nicht mehr so direkt aus dem Kopf erinnern kann, und - zack - stolpert man über Integer… mehr »

Auf volle Stunden skalieren

Die Anforderung, Auswertungen zu erstellen, die die Daten auf stündlicher Basis aufbereiten und auswerten, findet sich in vielen Bereichen. Zum Beispiel, Anzahl der Telefonate pro Mitarbeiter pro Stunde, Durchschnittswerte irgendwelcher Meßwerte pro… mehr »

Integer in Datum umwandeln

Angenommen man hat Integer Daten in der Form 20050623 vorliegen, die ein Datum repräsentieren sollen und deshalb in einen DateTime Wert konvertiert werden sollen. Wie schön einfach wäre es nun, wenn eine direkte Konvertierung funktionieren würde:… mehr »

Schaltjahre

Vorweggeschickt mag man durchaus darüber diskutieren, ob eine eigene Funktion zur Ermittlung eines Schaltjahres im SQL Server zwingend notwendig ist, da die meisten Client Sprachen bereits mit ausgefeilten hochoptimierten Datumsbibliotheken ausgestattet… mehr »

Wir basteln uns ein Datum

Was tun, wenn man den Tag, den Monat und das Jahr fein säuberlich in Einzelteilen zerlegt hat? Schauen wir uns mal verschiedene Methoden an, daraus ein gültiges Datum herzustellen. mehr »

Tage eines Monats Teil 2

Dieser Beitrag zeigte, wie man mit Integer Operationen die Anzahl der Tage eines Monats ermitteln kann. SQL Server MVP Steve Kass hat den folgenden Trick in den englischen Newsgroups gepostet: mehr »

Das Alter einer Person

In Ergänzung zu diesem Beitrag kann man auch folgende Alternativen zur Bestimmung des Alters einer Person verwenden: mehr »

Zeitwerte addieren

SET NOCOUNT ON CREATE TABLE #temp_table ( hm VARCHAR(5) ) INSERT #temp_table VALUES('8:30') INSERT #temp_table VALUES('5:01') INSERT #temp_table VALUES('12:59') INSERT #temp_table VALUES('7:20') SET NOCOUNT OFF SELECT CONVERT(VARCHAR,… mehr »

Integer in Zeit umwandeln

DECLARE @time INT SET @time = 7382 SELECT @time / 3600 AS Stunden , (@time / 60)% 60 AS Minuten , @time % 60 AS Sekunden Stunden Minuten Sekunden ----------- ----------- ----------- 2 3 2 (1 row(s)… mehr »

Datum aus einer DATETIME Spalte entfernen

SELECT RIGHT(STUFF(CONVERT(CHAR(22),GETDATE(),13),21,4,' '),9) --------- 10:14:40 (1 row(s) affected) --Oder SELECT CONVERT(CHAR(8), GETDATE(), 8) -------- 10:14:40 (1 row(s) affected) --Oder SELECT CONVERT(CHAR(8),… mehr »

Summe pro Woche anzeigen

USE Northwind GO SELECT n.dow , ISNULL(SUM(o.Freight),0) FROM Orders o RIGHT JOIN (SELECT 1 dow UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6… mehr »

Nachtrag zum Datetime Datentypen

Die anderen 4 Byte speichern die Tageszeit, die als Anzahl der Millisekunden seit Mitternacht dargestellt wird.Dies kann man in der Januar 2004 Edition von BOL  nachlesen.Gibt man z.B. den Wert 300 in die zweiten 4-bytes eines Datetimes ein, erhält man a… mehr »

Der DATETIME Datentyp

Der DATETIME Datentyp ist 8 Bytes gross. Die ersten vier Bytes speichern die Anzahl der Tage vor oder nach dem 01.01.1900; die letzten vier Bytes speichern die Anzahl der 'Clock Ticks' seit Mitternacht. Die binäre Darstellung jedes der beiden 4-byte Stüc… mehr »

Konvertierung aus Julianischem Kalender

DECLARE @yr INT DECLARE @jd INT SELECT @yr = 2002, @jd = 245 SELECT DATEADD(yyyy, @yr - 1900, -1) + @jd AS Julian_Date Julian_Date ------------------------------------------------------ 2002-09-02… mehr »

Sekunden in Minuten umwandeln

DECLARE @sekunden INT SET @sekunden = 61 SELECT CONVERT(VARCHAR(2), FLOOR(@sekunden/60)) + ':' + RIGHT('0' + CONVERT(VARCHAR(2), (@sekunden%60)), 2) ----- 1:01 (1 row(s) affected) mehr »

DATETIME Spalten gruppieren und sortieren

SELECT DATEADD(day, 0 , DATEDIFF(day, 0, MsgDateReceived)) AS "Datum" , COUNT(*) AS Anzahl FROM mails_header GROUP BY DATEADD(day, 0 , DATEDIFF(day, 0, MsgDateReceived)) ORDER BY "Datum" DESC mehr »

GETDATE() und Julianisches Datum

SELECT YEAR(GETDATE())*1000 + DATEPART(y,GETDATE()) AS the_date the_date ----------- 2004182 (1 row(s) affected) Danke an Jonathan van Houtte! mehr »

Das Alter einer Person

DECLARE @d DATETIME SET @d = '23.07.1968' SELECT DATEDIFF(yyyy,CAST(@d AS DATETIME),GETDATE()) - (CASE WHEN DATEADD(yyyy,DATEDIFF(yyyy,CAST(@d AS DATETIME),GETDATE()),CAST(@d AS DATETIME)) > GETDATE() THEN 1 ELSE 0 END)… mehr »

Datum in das Format JJJJMMDDHHMMSS bringen

Eigentlich würde man so eine Aufgabe wahrscheinlich besser im Client code verarbeiten, aber wenn's denn unbedingt der Server sein soll, könnte dies folgendermaßen aussehen: DECLARE @date DATETIME SET @date = '19.10.2003 09:48:22' SELECT CAST(… mehr »

Monatsultimo ermitteln

Die Ermittlung bestimmter Tage taucht in dieser oder jener Form immer mal wieder auf. T-SQL bietet hierfür sehr wirkungsvolle Methoden an:SELECT DATEADD(DAY, -DAY(GETDATE()), CAST(CONVERT(CHAR(8), GETDATE(), 112) AS DATETIME)) AS MonatsultimoMonats… mehr »

Erster und letzter Tag eines Jahres

DECLARE @dt DATETIME SET @dt = GETDATE() SELECT CAST(CAST(YEAR(@dt) AS CHAR(4))+'0101' AS DATETIME) AS Jahresanfang , CAST(CAST(YEAR(@dt) AS CHAR(4))+'-12-31T23:59:59.997' AS DATETIME) AS Jahresende Jahresanfang… mehr »
1 2