Oracle Database
String-Manipulation
Suche…
Verkettung: Operator || oder concat () - Funktion
Das Oracle SQL und PL / SQL ||
Mit dem Operator können Sie zwei oder mehr Strings miteinander verketten.
Beispiel:
Angenommen, die folgende customers
:
id firstname lastname
--- ----------- ----------
1 Thomas Woody
Abfrage:
SELECT firstname || ' ' || lastname || ' is in my database.' as "My Sentence"
FROM customers;
Ausgabe:
My Sentence
---------------------------------
Thomas Woody is in my database.
Oracle unterstützt auch die standardmäßige SQL-Funktion CONCAT(str1, str2)
:
Beispiel:
Abfrage:
SELECT CONCAT(firstname, ' is in my database.') from customers;
Ausgabe:
Expr1
---------------------------------
Thomas is in my database.
OBERER, HÖHER
Mit der UPPER-Funktion können Sie alle Kleinbuchstaben in einer Zeichenfolge in Großbuchstaben konvertieren.
SELECT UPPER('My text 123!') AS result FROM dual;
Ausgabe:
RESULT
------------
MY TEXT 123!
INITCAP
Die INITCAP
Funktion konvertiert die Groß- / Kleinschreibung einer Zeichenfolge, sodass jedes Wort mit einem Großbuchstaben beginnt und alle nachfolgenden Buchstaben in Kleinbuchstaben geschrieben werden.
SELECT INITCAP('HELLO mr macdonald!') AS NEW FROM dual;
Ausgabe
NEW
-------------------
Hello Mr Macdonald!
NIEDRIGER
LOWER konvertiert alle Großbuchstaben einer Zeichenfolge in Kleinbuchstaben.
SELECT LOWER('HELLO World123!') text FROM dual;
Ausgänge:
Text |
---|
hallo world123! |
Regulären Ausdruck
Nehmen wir an, wir möchten nur Zahlen mit 2 Ziffern ersetzen: reguläre Ausdrücke finden sie mit (\d\d)
SELECT REGEXP_REPLACE ('2, 5, and 10 are numbers in this example', '(\d\d)', '#')
FROM dual;
Ergebnisse in:
'2, 5, and # are numbers in this example'
Wenn ich Teile des Textes austauschen möchte, verwende ich \1
, \2
, \3
, um die übereinstimmenden Zeichenfolgen aufzurufen:
SELECT REGEXP_REPLACE ('swap around 10 in that one ', '(.*)(\d\d )(.*)', '\3\2\1\3')
FROM dual;
SUBSTR
SUBSTR
ruft einen Teil einer Zeichenfolge ab, indem die Startposition und die Anzahl der zu extrahierenden Zeichen angegeben werden
SELECT SUBSTR('abcdefg',2,3) FROM DUAL;
kehrt zurück:
bcd
Um vom Ende des Strings zu zählen, akzeptiert SUBSTR
eine negative Zahl als zweiten Parameter, z
SELECT SUBSTR('abcdefg',-4,2) FROM DUAL;
kehrt zurück:
de
Um das letzte Zeichen in einer Zeichenfolge zu erhalten: SUBSTR(mystring,-1,1)
LTRIM / RTRIM
LTRIM
und RTRIM
entfernen Zeichen vom Anfang bzw. Ende eines Strings. Ein Satz von einem oder mehreren Zeichen kann zum Entfernen angegeben werden (Standard ist ein Leerzeichen).
Zum Beispiel,
select LTRIM('<===>HELLO<===>', '=<>')
,RTRIM('<===>HELLO<===>', '=<>')
from dual;
Kehrt zurück:
HELLO<===>
<===>HELLO