Ein Datentyp definiert die Merkmale eines Datenelements und bestimmt, wie diese Daten verarbeitet werden. ESQL unterstützt sechs Datentypen, die im Folgenden aufgeführt sind. Daten, die aus Datenbanken abgerufen werden, in einer selbstdefinierenden Nachricht empfangen werden oder in einem Nachrichtenmodell definiert werden (mit MRM-Datentypen), werden einem dieser grundlegenden ESQL-Typen zugeordnet, wenn sie in ESQL-Ausdrücken verarbeitet werden.
In einem Broker enthalten die Felder einer Nachricht Daten eines bestimmten Datentyps. Für die Verarbeitung einer Nachricht können auch temporäre Variablen verwendet werden. All diese Variablen müssen Sie vor der Verwendung mit einem Datentyp deklarieren. Der Datentyp einer Variable ist festgelegt. Wenn Sie versuchen, Werte eines anderen Typs zuzuordnen, führt dies entweder zu einer impliziten Umsetzung oder zu einer Ausnahmebedingung. Bei Nachrichtenfeldern ist der Datentyp nicht festgelegt, so dass Sie Werte eines anderen Typs zuordnen können. Das Feld übernimmt den neuen Wert und Typ.
Der Datentyp, der sich aus der Auswertung eines Ausdrucks ergibt, ist nicht immer vorhersehbar. Dies ist darauf zurückzuführen, dass Ausdrücke ohne Verweis auf ein Nachrichtenschema kompiliert werden, so dass einige Eingabefehler erst zur Laufzeit gefunden werden.
ESQL definiert folgende Datenkategorien. Jede Kategorie enthält mindestens einen Datentyp.