Zeichenfolgefunktionen

Die folgende Tabelle beschreibt die Funktionen zur Bearbeitung von Zeichenketten.

Hinweis: Der SQL-Stringvergleich Netezza Performance Server ignoriert Leerzeichen am Ende.
Tabelle 1 Zeichenfunktionen
Ihren Namen Beschreibung
ascii(s) Gibt den numerischen ASCII-Wert des ersten Zeichens in der angegebenen Zeichenfolge zurück. Informationen zur NCHAR-Version dieser Funktion finden Sie in der Beschreibung von unicode(s).
btrim(s) Schneidet Leerzeichen an beiden Enden der angegebenen Zeichenfolge ab.
btrim(s,t) Schneidet Vorkommen der Zeichen in der Zeichenfolge t an beiden Enden der Zeichenfolge s ab.
chr(n) Gibt das Zeichen mit dem angegebenen ASCII-Wert zurück. Informationen zur NCHAR-Version dieser Funktion finden Sie in der Beschreibung von unichar(n).
initcap(s) Stellt das ersten Zeichen aller Wörter der angegebenen Zeichenfolge als Großbuchstaben dar.
instr(s1,s2[,n[,m]]) Gibt die Position der Teilzeichenfolge s2 in der Zeichenfolge s1 zurück. Die Funktion unterstützt außerdem NCHAR- und NVARCHAR-Zeichenfolgen. Die folgenden Argumente sind optional:
n
Die Position, an der die Suche anfangen soll. Für n gilt Folgendes:
  • Ist das Argument positiv, handelt es sich um die Position, ab der von links nach rechts gezählt wird, und die Suche wird von links nach rechts durchgeführt.
  • Ist das Argument negativ, handelt es sich um die Position, ab der von rechts nach links gezählt wird, und die Suche wird von rechts nach links durchgeführt.
Der Standardwert beträgt 1.
m
Vorkommen der Teilzeichenfolge, nach dem gesucht werden soll. Der Standardwert ist 1 (d. h. Suche nach dem ersten Vorkommen).

Der Rückgabewert ist eine Ganzzahl, die die Position in der Zeichenfolge s1 der Teilzeichenfolge s2 angibt.

length(s) Gibt die Länge der angegebenen Zeichenfolge zurück.
lower(s) Konvertiert die angegebene Zeichenfolge in Kleinbuchstaben.
lpad(s,n[,t]) Füllt die linke Seite der Zeichenfolge s mit Zeichen auf, um eine neue Zeichenfolge der Länge n zu erstellen. Das optionale Argument t gibt das Füllzeichen an; der Standard ist ein Leerzeichen. Wenn n kürzer ist als s, schneidet das System s an der angegebenen Länge ab.
ltrim(s) Schneidet Leerzeichen am linken Ende der angegebenen Zeichenfolge ab.
ltrim(s,t) Schneidet Vorkommen der Zeichen in der Zeichenfolge t am linken Ende der Zeichenfolge s ab.
repeat(s,n) Wiederholt die Zeichenfolge s n Mal. Wenn die Ergebniszeichenfolge größer als die maximale VARCHAR-Länge von 64.000 Zeichen ist, wird sie bei 64.000 Zeichen abgeschnitten.
rpad(s,n) Spaces pad string s auf der rechten Seite auf die Länge ' n. Über das optionale dritte Argument (t) kann das Füllzeichen angegeben werden. Wenn das Längenargument kürzer ist als die Zeichenfolge, die aufgefüllt wird, schneidet das System die Zeichenfolge an der angegebenen Länge ab.
rtrim(s) Schneidet Leerzeichen am rechten Ende der Zeichenfolge s ab.
rtrim(s,t) Schneidet Vorkommen der Zeichen in der Zeichenfolge t am rechten Ende der Zeichenfolge s ab.
strpos(s,b) Gibt die Anfangsposition der Teilzeichenfolge b in der Zeichenfolge s an.
substr(s,p,l) Gibt eine Teilzeichenfolge der Zeichenfolge s zurück, die an der Position p anfängt und l Zeichen lang ist. Position 1 ist der Anfang der Zeichenfolge. Beispiel:
  • select substr('abcdefg',1,4); gibt abcd zurück.
  • select substr('abcdefg',4,1); gibt d zurück.
Wenn die Teilzeichenfolge die Grenzen der ursprünglichen Zeichenfolge aufgrund der angegebenen Länge überschreitet, werden Positionen außerhalb der ursprünglichen Zeichenfolge ignoriert. Beispiel:
  • select substr('abcdefg',3,9); gibt die fünf Zeichen lange Teilzeichenfolge cdefg zurück.
  • select substr('abcdefg',9,3); gibt eine Nullzeichenfolge zurück, d. h. eine Zeichenfolge der Länge 0.
Wenn die angegebene Anfangsposition p null oder negativ ist, ermittelt der ansi_substring-Laufzeitparameter das Verhalten der substr-Funktion:
ansi_substring=true
Bei ansi_substring=true (Standardeinstellung) gilt Folgendes:
  • Position 0 ist eine Position links von der Position 1.
  • Eine negative Anfangsposition wird links von der Position 0 gezählt. Die Teilzeichenfolge enthält die Zeichen, die nach rechts bis zur angegebenen Länge fortgesetzt werden.
Beispiel:
  • select substr('abcdefg',0,4); gibt abc zurück.
  • select substr('abcdefg',-2,4); gibt a zurück.
  • select substr('abcdefg',-5,8); gibt ab zurück.
ansi_substring=false
Bei ansi_substring=false gilt Folgendes:
  • Position 0 ist äquivalent zu Position 1.
  • Eine negative Anfangsposition wird vom Zeichen ganz rechts in der Zeichenfolge nach links gezählt. Die Teilzeichenfolge enthält die Zeichen, die nach rechts bis zur angegebenen Länge fortgesetzt werden.
Beispiel:
  • select substr('abcdefg',0,4); gibt abcd zurück.
  • select substr('abcdefg',-2,4); gibt fg zurück.
  • select substr('abcdefg',-5,8); gibt cdefg zurück.
translate(s,from,to) Ersetzt jedes Zeichen in ' s, das mit einem Zeichen in der Menge ' from übereinstimmt, durch das entsprechende Zeichen in der Menge ' to. Beispiel: translate(‘12345’,’14’,’ax’) returns ‘a23x5’.
upper(s) Konvertiert die Zeichenfolge s in Großbuchstaben.
unichr(n) Gibt das Zeichen mit dem angegebenen ASCII-Wert zurück. Entspricht der chr()-Funktion. Die Funktion prüft, ob sich die Codepunkte in den gültigen Bereichen befinden, und zeigt einen Fehler an, wenn sich die Codepunkte im ungültigen Bereich U+D800-U+DFFF oder im Dezimalbereich 55.296 - 57.343 befinden.
unicode(s) NCHAR-Version von ascii(). Gibt den Unicode-Wert des ersten Zeichens in der Zeichenkette " s zurück. Da sechs Zeichen in Latin9 und Unicode unterschiedliche Werte haben, wird eine eigene Funktion definiert.
unicodes(s,unit,base) Gibt den Unicode-Wert für jedes Zeichen in der Zeichenfolge s zurück. Wenn Sie nur die Zeichenfolge angeben, gibt die Funktion standardmäßig die Darstellung in UTF-32-Hex-Ziffern zurück. Der Einheitenwert gibt 8, 16 oder 32 an, um den Wert im UTF-8-, UTF-16- oder UTF-32-Protokoll zurückzugeben. Der Basiswert gibt 'oct', 'dec' oder 'hex' in Groß- oder Kleinbuchstaben (d. h. 8, 10 oder 16) an, um die Nummernbasis zu steuern.