DECLARE @d DATETIME
SET @d = '31/01/2003 12:00:00'
SELECT
DAY(DATEADD(DAY,-1,DATEADD(MONTH,1,DATEADD(DAY,1-DAY(@d),@d)))) AS TageImMonat
TageImMonat
-----------
31
(1 row(s) affected)
Bei der Wahl des Datumsformat muss man vorsichtig sein. So funktionieren zum Beispiel:
SET @d = '20030131 12:00:00'
und
SET @d = '31.01.2003 12:00:00'
während
SET @d = '2003-01-31 12:00:00'
Server: Nachr.-Nr. 242, Schweregrad 16, Status 3, Zeile 2
Bei der Konvertierung ... char-Datentyps in ... datetime-Datentyp ... außerhalb des gültigen Bereichs.
hervorruft.