SAP NetWeaver AS ABAP Release 752, ©Copyright 2017 SAP AG. Alle Rechte vorbehalten.
ABAP - Schlüsselwortdokumentation → ABAP - Dictionary → ABAP CDS im ABAP Dictionary → ABAP CDS - Datendefinitionen → ABAP CDS - DDL für Datendefinitionen → ABAP CDS - DEFINE VIEW → ABAP CDS - SELECT → ABAP CDS - SELECT, eingebaute Funktionen → ABAP CDS - sql_functions →ABAP CDS - Zeichenkettenfunktionen
Die folgende Tabelle zeigt die in einer CDS-View möglichen SQL-Funktionen für Zeichenketten sowie die Anforderungen an die Argumente. Für die Bedeutung der Funktionen siehe die Zusammenstellung der SQL-Funktionen für Zeichenketten.
Funktion | erlaubte Argumenttypen | Ergebnistyp |
CONCAT(arg1, arg2) | siehe unten | SSTRING, falls ein Argument den Typ SSTRING hat, ansonsten CHAR in der Länge des Ergebnisses. |
CONCAT_WITH_SPACE(arg1, arg2, spaces ) | arg1, arg2: siehe unten spaces: positives Zahlenliteral größer 0 und kleiner gleich 1331 |
SSTRING, falls ein Argument den Typ SSTRING hat, ansonsten CHAR in der Länge des Ergebnisses. |
INSTR(arg, sub) | arg: siehe unten sub: nicht leeres Zeichenliteral |
INT4 |
LEFT(arg, len) | arg: siehe unten len: positives Zahlenliteral größer 0 und kleiner gleich 1333 |
SSTRING, falls arg den Typ SSTRING hat, ansonsten CHAR mit einer Länge len |
LENGTH(arg) | siehe unten | INT4 |
LOWER(arg) | siehe unten, außer NUMC, DATS und TIMS | Datentyp von arg in der Länge von arg |
LPAD(arg, len, src) | arg: siehe unten len: positives Zahlenliteral größer 0 und kleiner gleich 1333 src: Zeichenliteral |
SSTRING, falls arg den Typ SSTRING hat, ansonsten CHAR mit einer Länge len |
LTRIM(arg, char) | arg: siehe unten char: Zeichenliteral der Länge 1 |
SSTRING, falls arg den Typ SSTRING hat, ansonsten CHAR in der Länge von arg. |
REPLACE(arg1, arg2, arg3) | siehe unten | SSTRING, falls arg1 oder arg3 den Typ SSTRING hat, ansonsten CHAR in der maximal möglichen Länge des Ergebnisses. |
RIGHT(arg,len) | arg: siehe unten len: positives Zahlenliteral größer 0 und kleiner gleich 1333 |
SSTRING, falls arg den Typ SSTRING hat, ansonsten CHAR mit einer Länge len |
RPAD(arg, len, src) | arg: siehe unten len: positives Zahlenliteral größer 0 und kleiner gleich 1333 src: Zeichenliteral |
SSTRING, falls arg den Typ SSTRING hat, ansonsten CHAR mit einer Länge len |
RTRIM(arg, char) | arg: siehe unten char: Zeichenliteral der Länge 1 |
SSTRING, falls arg den Typ SSTRING hat, ansonsten CHAR in der Länge von arg. |
SUBSTRING(arg, pos, len) | arg: siehe unten pos und len: positive Zahlenliterale ungleich Null |
SSTRING, falls arg den Typ SSTRING hat, ansonsten CHAR oder NUMC mit einer Länge von mindestens len |
UPPER(arg) | siehe unten, außer NUMC, DATS und TIMS | Datentyp von arg in der Länge von arg |
Als Argumente arg können angegeben werden:
Die erlaubten Argumenttypen für arg, arg1, arg2 und arg3 sind CHAR, CLNT, LANG, NUMC, CUKY, UNIT, DATS, TIMS, SSTRING.
Bei Funktionen, bei denen eine explizite Länge len angegeben ist, wird die tatsächliche Länge des Ergebnisses bei der Aktivierung der CDS-View festgelegt und ist mindestens so groß wie len.
Bei allen Funktionen außer LPAD und RPAD werden die schließenden Leerzeichen aller Argumente vor der eigentlichen Verarbeitung und die schließenden Leerzeichen des Ergebnisses vor der Rückgabe entfernt. Bei LPAD und RPAD bleiben die schließenden Leerzeichen des Arguments src erhalten. Bei UPPER und LOWER spielt die Behandlung schließender Leerzeichen keine Rolle, da die Länge des Arguments erhalten bleibt.
Hinweis
Die Zeichen des Surrogat-Bereichs der System-Codepage UTF-16 werden von den CDS-Zeichenkettenfunktionen wie zwei Zeichen behandelt. Dies ist bei der Bestimmung der Länge zu berücksichtigen und es ist darauf zu achten, solche Zeichen nicht versehentlich zu zerschneiden. Die Funktionen UPPER und LOWER ändern die Zeichen des Surrogat-Bereichs nicht.
Beispiel
Die folgende CDS-View wendet eingebaute SQL-Funktionen für Zeichenketten in der SELECT-Liste auf Spalten der Datenbanktabelle DEMO_EXPRESSIONS an. Das Programm DEMO_CDS_SQL_FUNCTIONS_STRING greift mit SELECT auf die View zu.