Datenqualität in SQL Server // TRY_CONVERT für decimal und numeric sicher anwenden

Wer einmal einen Preis-Import gesehen hat, der aus ‚123,45 €‘ ein NULL macht statt der erwarteten Dezimalzahl, weiß: TRY_CONVERT(decimal(5, 2), ‚123,45‘) liefert NULL, weil das Komma als Dezimaltrennzeichen nicht erlaubt ist. Und selbst wenn das Komma weg ist: TRY_CONVERT(decimal(5, 2), ‚1234.56‘) ist auch NULL — diesmal wegen einer Vorkomma-Stelle zu viel. Auf einen Blick: Voraussetzung: SQL Server 2017+ (TRIM im sicheren Pattern; vor 2017 LTRIM(RTRIM(…))-Fallback). Postgres 12+ für … Weiterlesen

Datenqualität in SQL Server // TRY_CONVERT für bigint, int, smallint und tinyint sicher anwenden

Datenqualität beginnt bei der Typ-Konvertierung — und bei Integer-Spalten zeigt TRY_CONVERT ein paar Eigenheiten, die im Import-Pfad gerne übersehen werden: eine leere Zeichenfolge wird zu 0 (statt zu NULL), jedes Dezimal- oder Tausendertrennzeichen führt zu einem NULL, und eine typisierte Dezimalzahl wird stillschweigend abgeschnitten — ohne Rundung. Dieser Artikel sortiert die Regeln, zeigt das sichere Konvertierungs-Pattern und reicht eine Postgres-Brücke nach. Kurzüberblick: … Weiterlesen

Datenqualität in einem ETL-Prozess — technische und fachliche Fehler erkennen, bevor sie das Zielsystem erreichen

Ein einziger nicht konvertierbarer Wert — ein Datum im falschen Format, eine Zahl mit dem falschen Dezimaltrennzeichen — und der ganze ETL-Lauf bricht ab. Datenqualität in einem ETL-Prozess heißt: solche Fehler proaktiv erkennen, protokollieren und isolieren, bevor sie das Zielsystem erreichen. Dieser Artikel ist der Einstieg in eine Serie, die genau das als Design Pattern umsetzt. TL;DR — … Weiterlesen

Design Pattern // Architektur eines ETL-Prozesses — wie sich schlechte Daten sauber isolieren lassen

Ein einziger nicht konvertierbarer Datums-Text, und der ganze ETL-Lauf bricht ab. Das hier vorgestellte Design Pattern für die Architektur eines ETL-Prozesses verhindert genau das: schlechte Daten werden isoliert, nicht weitergereicht. TL;DR — was dieser Artikel zeigt: Voraussetzung. Grundverständnis von ETL-Prozessen. Konzeptueller Artikel — kein Schritt-für-Schritt-Tutorial. Wurzel der Artikelserie: Datenqualität in einem ETL-Prozess; der vorliegende Artikel ist der Architektur-Teil. … Weiterlesen

Datenqualität // Grundlagen der Typ-Konvertierung mit T-SQL — CAST, CONVERT, TRY_CAST und TRY_CONVERT im Vergleich

Ein Datum aus einer CSV-Datei landet als Text in der Datenbank — und plötzlich wird aus dem 2. November der 11. Februar. Solche stillen Fehlinterpretationen sind der Klassiker bei der Typ-Konvertierung in SQL Server. Wer CAST, CONVERT, TRY_CAST und TRY_CONVERT samt Style-Parameter kennt, vermeidet sie. Das Wichtigste vorab: Voraussetzung: SQL Server mit SSMS; die Beispiele sind reines T-SQL ohne Sample-Datenbank. Dieser Artikel … Weiterlesen

Design Pattern // Sichere Typ-Konvertierung mit T-SQL — Fehler erkennen, statt den ETL-Prozess abzubrechen

Ein einziger nicht konvertierbarer Wert — ein 25.5 in einer Integer-Spalte, ein leerer String, ein Datum wie 20240230 — und der ETL-Lauf bricht mitten im Import ab. Wer Textdaten aus Vorsystemen lädt, kennt das: Die Lieferung hält sich nicht an die vereinbarte Schnittstelle, und ein nacktes CONVERT wirft eine Exception, statt den fehlerhaften Wert sauber zu protokollieren. Dieser Artikel beschreibt ein Design … Weiterlesen