Tag: "coding"

Erster und letzter Tag des Folgemonats

Posted on Jul 12, 2004 von in SQL Server
SELECT 
CONVERT(CHAR(6),DATEADD(MONTH, 1, GETDATE()),112)
+
'01' AS 'firstDayofNextMonth'
, CONVERT(CHAR(8),DATEADD(day, -1, CONVERT(CHAR(6),DATEADD(MONTH, 2, GETDATE()),112)
+
'01'),112) AS 'lastDayofNextMonth'

firstDayofNextMonth lastDayofNextMonth
------------------- ------------------
20040701 20040731

(1 row(s) affected)

Ergänzung 17.11.2004: Das Ganze kann aber auch folgendermaßen ausgedrückt werden:

SELECT 
DATEADD(MONTH,DATEDIFF(MONTH,30,GETDATE()),30)+1
, DATEADD(MONTH,DATEDIFF(MONTH,30,GETDATE())+1,30)


------------------------- ------------------------
2004-12-01 00:00:00.000 2004-12-31 00:00:00.000

(1 row(s) affected)

GETDATE innerhalb einer UDF

Posted on Jul 12, 2004 von in SQL Server

GETDATE() ist nichtdeterministisch. Eine deterministische Funktion liefert ceteris paribus immer das gleiche Ergebnis. Da GETDATE() keine Argumente entgegennimmt und stets unterschiedliche Werte zurückgibt, ist die Funktion nicht deterministisch. Dies ist auch der Grund, warum man GETDATE() nicht als DEFAULT innerhalb der Funktion definieren kann. Nur deterministische Funktionen können, wie in BOL beschrieben, in UDF's verwendet werden.
Man kann das aber umgehen, indem man einen VIEW erzeugt, der GETDATE() zurückgibt und dann diesen VIEW in der UDF referenziert.

Ganze Geschichte »

Ersten Tag einer Woche ermitteln

Posted on Jul 12, 2004 von in SQL Server

Angenommen, wir definieren den Sonntag als ersten Tag der Woche

Ganze Geschichte »

Systemtabelle direkt updaten

Posted on Jul 12, 2004 von in SQL Server

Direktes Updaten der Systemtabellen ist eine der schnellsten Methoden, um SQL Server in die Irre zu führen. Daher sollte dies nur im Notfall angewendet werden:

Ganze Geschichte »