TRY_CONVERT // Konvertierung nach date, datetime, datetime2, time

Inhalt Überblick Die wohl herausforderndste Konvertierung ist die Konvertierung eines Datums und/oder Uhrzeit, das oder die als Text geliefert wird, in einen Wert vom Typ date, time, datetime oder datetime2. SQL Server stellt für die Speicherung eines Datums und/oder einer Uhrzeit unter anderem die folgenden Datentypen zur Verfügung: Für die Konvertierung eines als Text gelieferten Datums … Weiterlesen

TRY_CONVERT// Konvertierung nach bit

Inhalt Überblick SQL Server stellt für die Speicherung von Ja/Nein-Informationen den Datentyp bit zur Verfügung. Die Konvertierung eines Eingangswertes in einen Wert vom Typ bit kann eine kleine Herausforderung darstellen. Idealerweise werden Ja/Nein-Informa­tionen im Quellsystem in einem Datentyp gespeichert, der lediglich eine 0 oder 1 zulässt. Tatsächlich werden Ja/Nein-Informationen auf zum Teil kuriose Weise als Text … Weiterlesen

TRY_CONVERT // Konvertierung nach float, real

Inhalt Überblick SQL Server stellt für die Speicherung von Gleitkommazahlen die folgenden Datentypen zur Verfügung: Die Datentypen float und real sind keine präzisen Datentypen. Sie eignen sich für die Speicherung besonderes großer oder kleiner Werte, jedoch zu Lasten der Genauigkeit. Damit kann augenscheinlich eine Zahl gleich 0 gespeichert sein, die jedoch in einer weniger signifikanten und … Weiterlesen

TRY_CONVERT // Konvertierung nach money, smallmoney

SQL Server stellt für die Speicherung von Währungswerten die folgenden Datentypen zur Verfügung: Der Datentyp money ist bezüglich der gespeicherten Werte im Wesentlichen identisch zu dem Datentyp decimal(19, 4) und der Datentyp smallmoney zu decimal(10, 4). Es gibt intern Unterschiede, wie SQL Server einen decimal-Wert und einen money/smallmoney-Wert speichert. Diese Unterschiede sind hier jedoch nicht relevant. Die Datentypen money … Weiterlesen

TRY_CONVERT // Konvertierung nach decimal, numeric

SQL Server stellt für die Speicherung von exakten Dezimalzahlen die folgen­den Datentypen zur Verfügung: Die Datentypen decimal und numeric sind exakte Dezimalzahlen, für die sowohl die Anzahl aller Dezimalstellen (Parameter p) als auch die Anzahl der Dezimalstellen nach dem Komma (Parameter s) angegeben werden kann. Es gibt keinen funktionalen Unterschied zwischen diesen beiden Datentypen. Dieser Artikel … Weiterlesen

TRY_CONVERT // Konvertierung nach bigint, int, smallint, tinyint

Dieser Artikel beschreibt die sichere Konvertierung von Eingangswerten in die Datentypen bigint, int, smallint und tinyint. Eine vermeintlich einfache Aufgabe, sollte man denken. Was passiert zum Beispiel, wenn eine Dezimalzahl oder eine leere Zeichenfolge in einen Wert vom Typ int konvertiert werden soll. Wird der konvertierte Wert automatisch gerundet? Gibt Funktion bei der Konvertierung ein … Weiterlesen

Datenqualität in einem ETL-Prozess

Inhalt Überblick Überblick Es gibt zahlreiche gute Fachliteratur zu dem Thema Datenqualität. In der Regel wird das Thema eher theoretisch beschrieben, mit eindrucksvollen Beispielen und die Wichtigkeit mit Theorien belegt. Eine konkrete Anleitung jedoch, wie genau die Prüfung und Behandlung schlechter Daten in einem ETL-Prozess zu implementieren ist, habe ich allerdings noch nicht gefunden. Hierbei … Weiterlesen

Design Pattern // Architektur eines ETL-Prozesses

Dieser Artikel gehört zu der Artikelserie Datenqualität in einem ETL-Prozess, in der ein Design Pattern vorgestellt wird, das extrahierte Daten prüft, behandelt und schlechte Daten von der weiteren Verarbeitung ausschließt. Ein wesentlicher Baustein des Design-Patterns ist die Aufteilung des ETL-Prozesses in kleine in sich geschlossene Arbeitspakete. Dieser Artikel stellt die Architektur eines ETL-Prozesses vor, die eine sichere Behandlung schlechter Daten ermöglicht und den Entwickler maximal bei der Entwicklung unterstützt.

Weiterlesen

Datenqualität // Grundlagen der Typ-Konvertierung mit T-SQL

Dieser Artikel gehört zu der Artikelserie Datenqualität in einem ETL-Prozess, in der ein Design Pattern vorgestellt wird, das die extrahierte Daten prüft, behandelt und schlechte Daten von der weiteren Verarbeitung ausschließt. SQL Server stellt mit den T-SQL Funktionen CAST, CONVERT beziehungsweise TRY_CONVERT und TRY_CAST Funktionen für die Typ-Konvertierung zur Verfügung. Die Syntax der Funktionen CONVERT … Weiterlesen

Design Pattern // Sichere Typ-Konvertierung mit T-SQL

Sind in einem ETL-Prozess Daten aus Text-Dateien zu extrahieren, ist grundsätzlich Vorsicht geboten. Text-Dateien definieren an sich bereits eine Schnittstelle zu einem Vorsystem. Zwischen der die Daten liefernden Stelle und dem ETL-Prozess muss es daher eine Vereinbarung geben, welche Daten in welchem Format geliefert werden, in welchem Format sie bereitgestellt werden und welche Wertebereiche zulässig … Weiterlesen