Die effektive jährliche Verzinsung

Beliebt sind (oder besser gesagt, waren) diese Informationen bei Kreditangeboten aller Art. Einen monatlichen Zinssatz durch die Multiplikation * 12 in einen jährlichen umzurechnen, ist zur gleichen Zeit richtig und doch nicht. Auf diese Weise… mehr »

Das gewichtete Mittel

Angenommen, wir haben folgendes Portfolio: Anlageklasse Anteil am Portfolio Aktien 70% Renten 20% Cash 10% Für Aktien erwarten wir einen Return von 3%, für Renten 5% (jaja, wir haben "High-Yield" Bonds :-) ), und Cash 1,5%. Was ist nun der… mehr »

Deadlocks

Deadlocking tritt dann auf, wenn zwei Benutzerprozesse einen Lock auf ein Datenbankobjekt halten und versuchen, inkompatible Locks auf das jeweils andere Objekt zu erhalten. In dies der Fall, beendet SQL Server automatisch einen der beiden Prozesse,… mehr »

Verschiedenes

Wenn man Tabellen erstellt, Variablen deklariert oder andere Sachen macht, bei denen man mit Datentypen in Berührung kommt, sollte man stets präzise den Untertypen angegeben, den man verwenden möchte. Hier bringt es nichts ein Lazycoder zu sein, der ein… mehr »

LogShipping Überblick

Ziel dieses Artikels ist einen Überblick über LogShipping zu geben und die Grundzüge der Einrichtung und des Betriebs zu skizzieren. mehr »

Clustered Indexes

Wenn man einen Clustered Index erstellt, sollte dieser nach Möglichkeit als UNIQUE erstellt werden. Man muß UNIQUE explizit vorgeben, da SQL Server dies nicht standardmäßig annimmt. Der Grund dafür liegt in den Interna des Servers. Unter der Haube ist… mehr »

Datentypen

Man sollte stets den kleinsten Datentypen auswählen, der ausreicht, um die Daten zu speichern. Die Gründe dafür sind einfach und einleuchtend: Je kompakter die Daten sind, desto mehr Daten passen auf eine Datenseite. Also ist SQL Server in der Lage mit… mehr »

Datenbank Design

Ein schlechtes logisches Datenbank Design führt zu einem schlechten physikalischen Datenbank Design. Falls man eine Datenbank von Beginn an designen soll, muß zunächst einmal das logischen Design stimmig sein. Erst dann geht es an die physikalische… mehr »

Speichern von Formeln in Spalten

Wie könnte es aussehen, wenn man in einem so dynamischen Umfeld arbeitet, daß man selbst die mathematischen Berechnungsformeln nicht hart kodieren will... 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 »

Stored Procedures mit mehr als einem Output Parameter

Im SQL Server 2000 kann eine Stored Procedure bis zu 2.100 Parameter haben. Jeder einzelne dieser Parameter kann entweder Input- oder Output Parameter sein. mehr »

FLOAT Daten in VARCHAR konvertieren

Die Konvertierung von FLOAT Daten in CHAR oder VARCHAR im SQL Server 2000 kann unter Umständen für Überraschungen sorgen, die mehr oder weniger unangenehm sind. Mal angenommen wir finden einen gültigen Grund, warum wir FLOAT in VARCHAR umwandeln wollen… 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 »

Access Indexverhalten imitieren

Microsoft Access bietet die Option "Nullwerte ignorieren" bei Indices an. Wie kann man das auf den SQL Server übertragen?... Die schlechte Nachricht gleich vorweg: Ein direktes Äquivalent existiert im SQL Server nicht! Erstellt man einen Index als… mehr »

Kleines Beispiel über COUNT()

Unter den diversen Aggregatfunktionen des T-SQL Arsenals nimmt COUNT() einen einmaligen Platz ein, weil dies die einzige Funtion ist, die "NULL-aware" ist. Das heißt, je nach Verwendung werden NULL Marker berücksichtigt oder nicht. 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 »

Vorsicht bei der Verwendung von ISNUMERIC()

Liest man sich die Onlinehilfe von SQL Server durch und gelangt an das Thema ISNUMERIC(), erhält man den Eindruck, daß dies eine einfache, schnelle und sichere Methode ist, um zu überprüfen, ob ein gegebener Ausdruck in einen von SQL Server… mehr »

Present und Future Value einer Einmalanlage

Der Spatz in der Hand ist mehr wert als die Taube auf dem Dach. So ähnlich lautet ein beliebtes Sprichwort. Übertragen auf Geld würde man wahrscheinlich sagen, daß 1 Euro in der Hand heute mehr wert ist als 1 Euro, den man irgendwann in der Zukunft… mehr »

Werte in aufeinanderfolgenden Zeilen subtrahieren

Zunächst vielleicht erst einmal eine Erklärung, was hier überhaupt beschrieben werden soll. Mal angenommen, wir haben eine Tabelle, in der Kurse einer Aktie erfaßt werden. Der Einfachheithalber konzentrieren wir uns hier nur auf die entscheidenden… mehr »

BCP Ausgabe mit Spaltenüberschriften

Schon mal darüber geärgert, daß es keine Möglichkeit gibt, die Spaltenüberschriften im BCP Utility mit auszugeben...? mehr »

Serverbasierter Trace

Oft stellt sich einem die Frage, wie beobachtet man am besten ein Ereignis auf dem SQLServer was nur sporadisch auftritt. Seit Einführung des Profilers hat man eine einfache Möglichkeit über ein GUI live am Geschehen teilzunehmen. Nur wer möchte so ein… mehr »

Teilstrings gleicher Länge extrahieren

Extrahieren von Teilstrings aus z.B. einer kommaseparierten Liste kann man überall nachlesen. Für Fragestellungen, bei denen es um die Extraktion von Teilstrings stets gleicher Länge geht, kann man aber auch einen anderen Lösungsansatz verwenden. 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 »

First() und Last() in T-SQL?

First() und Last() in T-SQL? Sehr häufig kann man Fragen in SQL Server Communities beobachten von Leuten, die Ihre Access Datenbanken auf den SQL Server portieren und anschließend versuchen, die proprietäre Access SQL Syntax in T-SQL zu… mehr »