Funzioni per le stringhe di caratteri

La tabella seguente descrive le funzioni per la manipolazione delle stringhe di caratteri.

Nota: il confronto delle stringhe SQL Netezza Performance Server ignora gli spazi intermedi.
Tabella 1. Funzioni di carattere
Nome Descrizione
ascii(s) Restituisce il valore numerico ASCII del primo carattere della stringa specificata. Per la versione NCHAR di questa funzione, vedere 'unicode(s).
btrim(s) Taglia gli spazi da entrambe le estremità della stringa specificata.
btrim(s,t) Taglia le occorrenze dei caratteri della stringa 't da entrambe le estremità della stringa 's.
chr(n) Restituisce il carattere con il valore ASCII specificato. Per la versione NCHAR di questa funzione, vedere 'unichar(n).
initcap(s) Capitalizza il primo carattere di ogni parola della stringa specificata.
instr(s1,s2[,n[,m]]) Restituisce la posizione della sottostringa 's2 nella stringa 's1. La funzione supporta anche le stringhe di caratteri nchar e nvarchar. I seguenti argomenti sono facoltativi:
n
La posizione da cui iniziare la ricerca. Quando 'n è:
  • Positivo, questa è la posizione che conta da sinistra a destra e la ricerca viene condotta da sinistra a destra.
  • Negativo, questa è la posizione che conta da destra a sinistra e la ricerca viene condotta da destra a sinistra.
Il valore predefinito è 1.
m
Quale occorrenza della sottostringa deve essere ricercata. L'impostazione predefinita è 1 (per cercare la prima occorrenza).

Il valore di ritorno è un intero che specifica la posizione nella stringa 's1 della sottostringa 's2.

length(s) Restituisce la lunghezza della stringa specificata.
lower(s) Converte la stringa specificata in minuscolo.
lpad(s,n[,t]) Imbottisce il lato sinistro della stringa 's con dei caratteri per creare una nuova stringa di lunghezza 'n. L'argomento opzionale " t specifica il carattere di riempimento; il valore predefinito è uno spazio vuoto. Se 'n è inferiore alla lunghezza di 's, il sistema tronca 's alla lunghezza specificata.
ltrim(s) Taglia gli spazi dall'estremità sinistra della stringa specificata.
ltrim(s,t) Taglia le occorrenze dei caratteri della stringa 't dall'estremità sinistra della stringa 's.
repeat(s,n) Ripete la stringa 's n per più volte. Se la stringa risultante supera la lunghezza massima di varchar di 64.000 caratteri, viene troncata a 64.000 caratteri.
rpad(s,n) Spaziatura della stringa s a destra fino alla lunghezza 'n. C'è un terzo argomento opzionale (t) che specifica il carattere pad. Se l'argomento lunghezza è più corto della stringa che viene imbottita, il sistema tronca la stringa alla lunghezza specificata.
rtrim(s) Taglia gli spazi dall'estremità destra della stringa 's.
rtrim(s,t) Taglia le occorrenze dei caratteri della stringa 't dall'estremità destra della stringa 's.
strpos(s,b) Specifica la posizione iniziale della sottostringa 'b nella stringa 's.
substr(s,p,l) Restituisce una sottostringa della stringa 's che inizia alla posizione 'p ed è lunga 'l caratteri. La posizione 1 è l'inizio della stringa. Ad esempio:
  • select substr('abcdefg',1,4); restituisce 'abcd.
  • select substr('abcdefg',4,1); restituisce 'd.
Se la lunghezza specificata fa sì che la sottostringa superi i limiti della stringa originale, le posizioni esterne alla stringa originale vengono ignorate. Ad esempio:
  • select substr('abcdefg',3,9); restituisce la sottostringa di cinque caratteri 'cdefg.
  • select substr('abcdefg',9,3); restituisce una stringa nulla, cioè una stringa di lunghezza pari a 0.
Quando la posizione iniziale specificata 'p è zero o negativa, il parametro di runtime ansi_substring determina il comportamento della funzione 'substr:
ansi_substring=true
Quando ansi_substring=true (impostazione predefinita):
  • La posizione 0 è una posizione a sinistra della posizione 1.
  • Una posizione di partenza negativa viene conteggiata a sinistra dalla posizione 0. La sottostringa include i caratteri che continuano a destra per la lunghezza specificata.
Ad esempio:
  • select substr('abcdefg',0,4); restituisce abc
  • select substr('abcdefg',-2,4); restituisce a
  • select substr('abcdefg',-5,8); restituisce ab
ansi_substring=false
Quando ansi_substring=false:
  • La posizione 0 equivale alla posizione 1.
  • Una posizione iniziale negativa viene contata dal carattere più a destra della stringa verso sinistra. La sottostringa include i caratteri che continuano a destra per la lunghezza specificata.
Ad esempio:
  • select substr('abcdefg',0,4); restituisce abcd
  • select substr('abcdefg',-2,4); restituisce fg
  • select substr('abcdefg',-5,8); restituisce cdefg
translate(s,from,to) Sostituisce qualsiasi carattere del 's che corrisponde a un carattere dell'insieme 'from con il carattere corrispondente dell'insieme 'to. Ad esempio, " translate(‘12345’,’14’,’ax’) returns ‘a23x5’.
upper(s) Converte la stringa 's in maiuscolo.
unichr(n) Restituisce il carattere con il valore ASCII specificato. Equivale alla funzione " chr(). La funzione verifica che i punti di codice si trovino negli intervalli validi e visualizza un errore se i punti di codice si trovano nell'intervallo non valido U+D800-U+DFFF o nel valore decimale 55.296 - 57.343.
unicode(s) Versione NCHAR di 'ascii(). Restituisce il valore Unicode del primo carattere della stringa 's. Viene definita una funzione separata perché sei caratteri hanno valori diversi tra Latin9 e Unicode.
unicodes(s,unit,base) Restituisce il valore Unicode per ogni carattere della stringa 's. Per impostazione predefinita, se si specifica solo la stringa, la funzione restituisce la rappresentazione in cifre esagonali UTF-32. Il valore dell'unità specifica 8, 16 o 32 per restituire il valore in protocollo UTF-8, UTF-16 o UTF-32. Il valore di base specifica "oct", "dec" o "hex" in maiuscolo o minuscolo (o 8, 10 o 16) per controllare la base numerica.