RIGHT oder STRRIGHT Skalarfunktion
Die Funktion RIGHT gibt eine Zeichenfolge zurück, die aus der angegebenen Anzahl von Bytes ganz rechts oder einer angegebenen Zeichenketteneinheit aus einer Zeichenkette besteht.
- 1 FL 506 STRRIGHT ist ein neuer unterstützter Name für die RIGHT-Funktion.
Das Schema ist SYSIBM.
- zeichenfolgeausdruck
- Ein Ausdruck, der die Zeichenfolge angibt, aus der das Ergebnis abgeleitet wird. Die Zeichenfolge muss ein beliebiger integrierter Zeichenfolgendatentyp sein. Ein Teilstring des String-Ausdrucks besteht aus null oder mehr zusammenhängenden Codepunkten des String-Ausdrucks. Ein Teil des Ersatzzeichens im Ausdruck wird durch ein Leerzeichen ersetzt.
Die Zeichenfolge kann gemischte Daten enthalten. Je nach den Einheiten, die zur Auswertung der Funktion angegeben werden, ist das Ergebnis nicht unbedingt eine korrekt formatierte gemischte Datenzeichenfolge.
Das Argument kann auch ein numerischer Datentyp sein. Das numerische Argument wird implizit in einen VARCHAR-Datentyp umgewandelt.
- ganze Zahl
- Ein Ausdruck, der die Länge des Ergebnisses angibt. Der Wert muss eine ganze Zahl zwischen 0 und n sein, wobei n das Längenattribut des String-Ausdrucks ist, ausgedrückt in den Einheiten, die entweder implizit oder explizit angegeben sind.
Das Argument kann auch ein Datentyp für Zeichenketten oder Grafikketten sein. Die Zeichenketteneingabe wird implizit in einen numerischen Wert von DECFLOAT(34) umgewandelt, der dann einem INTEGER-Wert zugewiesen wird.
Wenn CODEUNITS16 oder CODEUNITS32 angegeben wird, finden Sie unter "Bestimmung des Längenattributs des Endergebnisses " Informationen zur Berechnung des Längenattributs der Ergebniszeichenfolge.
- CODEUNITS16, CODEUNITS32 oder OCTETS
- Gibt die Einheit an, die zur Darstellung von ganzen Zahlen verwendet wird. Wenn es sich bei "string-expression" um eine Zeichenkette handelt, die als Bit-Daten definiert ist, können CODEUNITS16 und CODEUNITS32 nicht angegeben werden. Wenn der String-Ausdruck ein Grafik-String ist, können keine OCTETS angegeben werden. Wenn der String-Ausdruck ein binärer String ist, können CODEUNITS16, CODEUNITS32 und OCTETS nicht angegeben werden.
- CODEUNITS16
- Gibt an, dass die Ganzzahl in 16-Bit-Code-Einheiten ausgedrückt wird. UTF-16
- CODEUNITS32
- Gibt an, dass die Ganzzahl in 32-Bit-Code-Einheiten ausgedrückt wird. UTF-32
- OCTETS
- Gibt an, dass die Ganzzahl in Bytes ausgedrückt wird.
Weitere Informationen zu CODEUNITS16, CODEUNITS32 und OCTETS finden Sie unter "String unit specifications ".
Der String-Ausdruck wird rechts mit der erforderlichen Anzahl von Füllzeichen aufgefüllt, sodass der angegebene Teilstring des String-Ausdrucks immer vorhanden ist. Das Kodierungsschema der Daten bestimmt das Füllzeichen:
- Bei ASCII-SBCS-Daten oder gemischten ASCII-Daten ist das Füllzeichen X'20'.
- Bei ASCII-DBCS-Daten hängt das Füllzeichen von der CCSID ab; für Japanisch (CCSID 301) ist das Füllzeichen beispielsweise X'8140', während es für vereinfachtes Chinesisch X'A1A1'.
- Bei EBCDIC-SBCS-Daten oder gemischten EBCDIC-Daten ist das Füllzeichen X'40'.
- Bei EBCDIC-DBCS-Daten ist das Füllzeichen X'4040'.
- Bei Unicode-SBCS-Daten oder UTF-8 -Daten (Unicode-Mischdaten) ist das Füllzeichen X'20'.
- Für UTF-16 -Daten (Unicode DBCS-Daten) ist das Füllzeichen X'0020'.
- Bei Binärdaten ist das Füllzeichen X'00 '.
Das Ergebnis der Funktion ist eine Zeichenkette mit variabler Länge und einem Längenattribut, das mit dem Längenattribut von "Zeichenkettenausdruck" übereinstimmt, und einem Datentyp, der vom Datentyp von "Zeichenkettenausdruck" abhängt:
- VARBINARY, wenn der String-Ausdruck BINARY oder VARBINARY ist
- VARCHAR, wenn der String-Ausdruck CHAR oder VARCHAR ist
- CLOB, wenn Zeichenkettenausdruck CLOB ist
- VARGRAPHIC, wenn Zeichenkettenausdruck GRAPHIC oder VARGRAPHIC ist
- DBCLOB, wenn der String-Ausdruck DBCLOB ist
- BLOB, wenn Zeichenkettenausdruck BLOB ist
Die tatsächliche Länge des Ergebnisses wird aus einer Ganzzahl bestimmt.
Das Ergebnis kann null sein; wenn ein Argument null ist, ist das Ergebnis der Nullwert.
Die CCSID des Ergebnisses ist dieselbe wie die von "string-expression ".

Hinweise
- Syntaxalternativen:
- FL 506 STRRIGHT ist ein Synonym für RECHTS.

Beispiele
SELECT RIGHT(ALPHA,3)
FROM SYSIBM.SYSDUMMY1; SELECT RIGHT('ABCABC',0)
FROM SYSIBM.SYSDUMMY1; Function ... Returns ...
RIGHT(FIRSTNME,5,CODEUNITS32) 'ürgen' -- x'C3BC7267656E'
RIGHT(FIRSTNME,5,CODEUNITS16) 'ürgen' -- x'C3BC7267656E'
RIGHT(FIRSTNME,5,OCTETS) ' rgen' -- x'207267656E' A truncated string
Beispiel 4 : Im folgenden Beispiel gibt die letzte Ausführung der Funktion RIGHT ein partielles Ersatzzeichen zurück: Function ... Returns ...
RIGHT('Jürgen',5,CODEUNITS32) 'ürgen' -- x'C3BC7267656E'
RIGHT('Jürgen',5,CODEUNITS16) 'ürgen' -- x'C3BC7267656E'
RIGHT('Jürgen',5,OCTETS) ' rgen' -- x'207267656E' A truncated string
HEX(RIGHT('Jürgen',5)) x'BC7267656E' -- A partial character followed by 'rgen'
