SAP NetWeaver AS ABAP Release 750, ©Copyright 2016 SAP AG. Alle Rechte vorbehalten.
ABAP - Schlüsselwortdokumentation → ABAP - Dictionary → ABAP CDS im ABAP Dictionary → ABAP CDS - Datendefinitionen → ABAP CDS - DDL-Anweisungen → 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 der ABAP CDS 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 |
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 |
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.
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.
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.