Salesforce Marketing Cloud - SQL Besonderheiten & Tipps Teil 1

Das Erstellen von Datenbankabfragen mit SQL ist eine alltägliche Arbeit in Salesforce Marketing Cloud (SFMC). Damit lassen sich Daten aus verschiedenen Data Extensions und Data Views einfach abrufen, kombinieren oder filtern. Die Verwendung von SQL in SFMC bietet leistungsstarke Möglichkeiten zur Datenverarbeitung und -analyse, bringt jedoch auch einige Besonderheiten mit sich, die User kennen sollten.

SQL in Salesforce Marketing Cloud – Keine Fehler, aber dennoch falsche Ergebnisse?

Neben technischen und funktionalen Einschränkungen von SQL in Marketing Cloud kann es passieren, dass Abfragen zwar ohne Fehler ausgeführt werden, weil die Syntax korrekt ist, aber dennoch nicht die gewünschten oder plausiblen Ergebnisse liefern. Diese Diskrepanz bleibt oft unbemerkt und kann zu unerwarteten Resultaten führen. Wir möchten zwei solcher „Fallen" vorstellen und Tipps geben, wie man sie vermeiden kann.

Falle 1: Zeitzonen bei SQL-Abfragen in Salesforce Marketing Cloud

Datumsangaben werden häufig genutzt, um die Grundgesamtheit von Data Extensions oder Data Views auf einen relevanten Bereich einzugrenzen. Eine gängige Bedingung sieht etwa so aus:

WHERE
	CONVERT(DATETIME, SubscriptionDate) > DATEADD(HOUR, -2, GETDATE())

Doch Vorsicht: Beim Vergleichen von zwei Datumsangaben gibt es etwas Wichtiges zu beachten – die Zeitzone!

Warum liefert meine SQL Datenbankabfrage falsche Ergebnisse trotz korrekter Syntax?

In unserem Beispiel wird das Feld „SubscriptionDate" aus einer Data Extension abgefragt, um Kontakte herauszufiltern, die innerhalb der letzten zwei Stunden einen Newsletter abonniert haben. Der Teil DATEADD(HOUR, -2, GETDATE()) verwendet die GETDATE()-Funktion, um das aktuelle Datum mitsamt Uhrzeit festzustellen. Von diesem werden dann zwei Stunden subtrahiert.

Wir vergleichen also ein Datum, das in einer Data Extension gespeichert ist, mit einem Datum, welches durch eine Funktion generiert wurde. Hier ist es entscheidend zu wissen: SQL-Funktionen wie GETDATE() und TODAY() geben das Ergebnis immer in der Zeitzone „Central America Standard Time" (CAST) zurück. Gleiches gilt für Datumsangaben in Data Views. Dies kann dazu führen, dass man in Abfragen zwei Datumsangaben miteinander vergleicht, die sich nicht in derselben Zeitzone befinden.

Zeitzonenunterschiede bei SQL-Abfragen in Marketing Cloud lösen

Zunächst müssen Sie wissen, in welcher Zeitzone das Feld „SubscriptionDate" in der Data Extension gespeichert ist. Dies kann je nach Herkunft des Felds variieren. Wenn das Feld z.B. über API in die SFMC importiert wird, kann es gut sein, dass Ihnen das Feld in Ihrer regionalen Zeitzone vorliegt. Nehmen wir an, das Feld „SubscriptionDate" ist in Ihrer regionalen Zeitzone gespeichert, z.B. in „Central European Standard Time" (CEST), wie sie in Deutschland gilt. Weil CAST keine Zeitumstellung beachtet, liegt CAST in der Sommerzeit 8 Stunden und während der Winterzeit 7 Stunden hinter CEST zurück. Wenn Sie die obige Abfrage um 14:30 Uhr CEST (im Sommer) ausführen, würden Sie alle Abonnenten erhalten, die seit 04:30 Uhr CEST (also über einen Zeitraum der letzten 10 Stunden: die gewünschte zwei Stunden-Spanne plus 8 Stunden Zeitverschiebung) eingetroffen sind. Das gewünschte Ergebnis – die Kontakte, welche innerhalb der letzten zwei Stunden abonniert haben – wird somit nicht erreicht. Eine Fehlermeldung erhalten Sie hierbei nicht, da kein logischer oder Syntaxfehler vorliegt.

Die Lösung: AT TIME ZONE in SQL-Abfragen nutzen

Die Funktion AT TIME ZONE erlaubt es, Datumsangaben aus ihrer derzeitigen Zeitzone in eine andere zu konvertieren. Die Anpassung in unserem Beispiel würde dann so aussehen:

CONVERT(DATETIME, SubscriptionDate) > DATEADD(HOUR, -2, GETDATE()) AT TIME ZONE 'Central America Standard Time' AT TIME ZONE 'Central European Standard Time'

Hierbei bleibt „SubscriptionDate" unverändert, da es bereits in der richtigen Zeitzone vorliegt. Die rechte Seite der Gleichung wird auf folgende Weise angepasst: Die erste „AT TIME ZONE"-Deklaration legt fest, in welcher Zeitzone sich das Datum aktuell befindet (CAST). Die zweite Anweisung gibt an, in welche Zeitzone das Datum konvertiert werden soll (CEST). Auf diese Weise wird sichergestellt, dass die Angaben auf beiden Seiten der Gleichung dieselbe Zeitzone nutzen.

Wir hoffen, dass Ihnen dieser Tipp zur Anpassung von Zeitzonen bei der Abfrage und dem Vergleich von Daten hilfreich war. Im nächsten Teil werden wir die SQL-Funktion „UNION" näher betrachten und erläutern, worauf Sie bei der Anwendung dieser in der Marketing Cloud besonders achten sollten.

Diesen Artikel jetzt teilen
Link
Blog

Noch mehr über Salesforce Marketing Cloud

salesforce-marketing-cloud
Alle Kategorien

Salesforce Marketing Cloud - Warum Einstein Engagement Scoring allein nicht ausreicht

Erfahren Sie alles über die Vorteile und Grenzen des Einstein Engagement Scoring und wann maßgeschneiderte Scoring-Modelle vorteilhaft sind.

salesforce-marketing-cloud
Alle Kategorien

Salesforce Marketing Cloud Release Highlights Winter '25

Salesforce hat sein Marketing Cloud Release für den Winter 2025 angekündigt, das eine Reihe interessanter Neuerungen mit sich bringt. Wir geben einen Überblick über die wichtigsten Highlights.

salesforce-marketing-cloud
Alle Kategorien

Salesforce Marketing Cloud - SQL Besonderheiten & Tipps Teil 2

Teil2: Die Verwendung von SQL in Salesforce Marketing Cloud bietet leistungsstarke Möglichkeiten zur Datenverarbeitung und -analyse, bringt jedoch auch einige Marketing Cloud spezifische Besonderheiten mit sich, die User kennen sollten.

salesforce-marketing-cloud
Alle Kategorien

Salesforce Marketing Cloud Content Builder-Vorlagen

Die Investition in maßgeschneiderte Templates für Salesforce Marketing Cloud Content Builder lohnt sich. Das Ergebnis sind einfach zu bedienende, CI-konforme, konsistente E-Mails, die in allen gängigen E-Mail-Clients korrekt dargestellt werden und langfristig Zeit und Kosten sparen.

salesforce-marketing-cloud
Alle Kategorien

Salesforce Marketing Cloud Feature Friday: SFMC Companion

Unsere Salesforce Marketing Cloud Experten stellen ein nützliches Add-On für die alltägliche Arbeit in Marketing Cloud vor, die für mehr Übersichtlichkeit und mehr Effizienz sorgt.

salesforce-marketing-cloud
Alle Kategorien

Salesforce Marketing Cloud Release Highlights Winter '23

Salesforce hat sein Marketing Cloud Release für den Winter 2023 angekündigt, das eine Reihe interessanter Neuerungen mit sich bringt. Wir geben einen Überblick über die wichtigsten Highlights.

salesforce-marketing-cloud
Alle Kategorien

Salesforce Marketing Cloud - Marketing Cloud Release Februar 2022

Am 19. Februar geht das Frühlings-Release 2022 der Salesforce Marketing Cloud live. Unsere Release-Highlights haben wir unserem Artikel einmal kompakt zusammengefasst.

salesforce-marketing-cloud
Alle Kategorien

Salesforce Marketing Cloud - Datorama Reports vs. Datorama Reports Advanced

Lohnt sich ein kostenpflichtiges Upgrade auf Datorama Reports Advanced? Eine Übersicht der wichtigsten Funktionalitäten.

salesforce-marketing-cloud
Alle Kategorien

Salesforce Marketing Cloud - Deployments mit Package Manager und Deployment Manager

Wie helfen Package Manager und Deployment Manager beim Rollout standardisierter Prozesse in Marketing Cloud?