Nochmal:
Solange dein Feld opdauer ein TIMESTAMP-Feld ist, wird dieses immer auch ein Datum (nähmlich den 1.1.1900) enthalten !!!

Ansonsten siehe auch mal in die Hilfe des SQL-Servers !!!!!

Hier mal eine Beispiel für DATEPART:

DATEPART
Gibt eine ganze Zahl zurück, die den angegebenen Teil für datepart des angegebenen Datums darstellt.

Syntax
DATEPART ( datepart , date )

Argumente
datepart

Der Parameter, der angibt, welche Datumseinheit zurückgegeben werden soll. Die Tabelle listet die Datumseinheiten und Abkürzungen auf, die von Microsoft® SQL Server™ erkannt werden.

Datumseinheit Abkürzungen
year yy, yyyy
quarter qq, q
month mm, m
dayofyear dy, y
day dd, d
week wk, ww
weekday dw
hour hh
minute mi, n
second ss, s
millisecond ms


Die Datumseinheit week (wk, ww) spiegelt an SET DATEFIRST vorgenommene Änderungen wider. Der 1. Januar eines beliebigen Jahres definiert die Anfangszahl für die Datumseinheit week. Beispiel: DATEPART(wk, 'Jan 1, xxxx') = 1, wobei xxxx für ein beliebiges Jahr steht.

Die Datumseinheit weekday (dw) gibt eine Zahl zurück, die dem Wochentag entspricht, z. B.: Sonntag = 1, Samstag = 7. Die von der Datumseinheit weekday erzeugte Zahl ist abhängig vom durch SET DATEFIRST festgelegten Wert, der den ersten Tag der Woche festlegt.

date

Ein Ausdruck, der einen datetime- oder smalldatetime-Wert oder eine Zeichenfolge in einem Datumsformat zurückgibt. Verwenden Sie den datetime-Datentyp nur für Datumsangaben nach dem 1. Januar 1753. Speichern Sie davor liegende Datumsangaben als Zeichendaten. datetime-Werte werden immer in Anführungszeichen eingeschlossen. Da smalldatetime nur eine Genauigkeit auf die Minute aufweist, sind Sekunden und Millisekunden immer gleich Null, wenn ein smalldatetime-Wert verwendet wird.

Wenn Sie nur die letzten beiden Ziffern der Jahreszahl angeben, liegen Werte, die kleiner oder gleich den letzten beiden Ziffern des Wertes der Konfigurationsoption two digit year cutoff sind, im selben Jahrhundert wie das Umstellungsjahr. Werte, die größer als die letzten beiden Ziffern des Wertes dieser Option sind, liegen in dem Jahrhundert, das dem Jahrhundert des Umstellungsjahres vorausgeht. Wenn two digit year cutoff z. B. auf 2049 (Standardeinstellung) eingestellt ist, wird das Jahr 49 als 2049 und das Jahr 50 als 1950 interpretiert. Um die Zweideutigkeit von Datumsangaben zu vermeiden, sollten Sie vierstellige Jahresangaben verwenden.

Weitere Informationen zum Angeben von Zeitwerten finden Sie unter Zeitformate. Weitere Informationen zum Angeben von Datumsangaben finden Sie unter „datetime“ und „smalldatetime“.

Rückgabetypen
int

Hinweise
Die Funktionen DAY, MONTH und YEAR entsprechen DATEPART(dd, date), DATEPART(mm, date) und DATEPART(yy, date).

Beispiele
Die GETDATE-Funktion gibt das aktuelle Datum zurück; allerdings wird für Vergleiche nicht immer das vollständige Datum benötigt (oft wird nur ein Teil des Datums verglichen). Dieses Beispiel zeigt die Ausgabe von GETDATE sowie DATEPART.

SELECT GETDATE() AS 'Current Date'
GO

Im Folgenden wird das Resultset aufgeführt:

Current Date
---------------------------
Feb 18 1998 11:46PM

SELECT DATEPART(month, GETDATE()) AS 'Month Number'
GO

Im Folgenden wird das Resultset aufgeführt:

Month Number
------------
2

Angenommen, das aktuelle Datum ist der 29. Mai:

SELECT DATEPART(month, GETDATE())
GO

Im Folgenden wird das Resultset aufgeführt:

-----------
5

(1 row(s) affected)

In diesem Beispiel wird das Datum als Zahl angegeben. Beachten Sie, dass SQL Server den Wert 0 als 1. Januar 1900 interpretiert.

SELECT DATEPART(m, 0), DATEPART(d, 0), DATEPART(yy, 0)

Im Folgenden wird das Resultset aufgeführt:

----- ------ ------
1 1 1900


Siehe auch

CAST und CONVERT

Datentypen

Datums- und Zeitfunktionen

©1988-2000 Microsoft Corporation. Alle Rechte vorbehalten.