Oracle Database
Stringmanipulatie
Zoeken…
Aaneenschakeling: operator || of concat () functie
De Oracle SQL en PL / SQL ||
kunt u twee of meer strings samenvoegen.
Voorbeeld:
Uitgaande van de volgende customers
:
id firstname lastname
--- ----------- ----------
1 Thomas Woody
Query:
SELECT firstname || ' ' || lastname || ' is in my database.' as "My Sentence"
FROM customers;
Output:
My Sentence
---------------------------------
Thomas Woody is in my database.
Oracle ondersteunt ook de standaard SQL CONCAT(str1, str2)
functie:
Voorbeeld:
Query:
SELECT CONCAT(firstname, ' is in my database.') from customers;
Output:
Expr1
---------------------------------
Thomas is in my database.
BOVENSTE
Met de HOOFDLETTERS functie kunt u alle kleine letters in een string in hoofdletters omzetten.
SELECT UPPER('My text 123!') AS result FROM dual;
Output:
RESULT
------------
MY TEXT 123!
beginhoofdletters
De INITCAP
functie converteert het geval van een tekenreeks zodat elk woord begint met een hoofdletter en alle volgende letters in kleine letters zijn.
SELECT INITCAP('HELLO mr macdonald!') AS NEW FROM dual;
uitgang
NEW
-------------------
Hello Mr Macdonald!
LAGER
LOWER converteert alle hoofdletters in een string naar kleine letters.
SELECT LOWER('HELLO World123!') text FROM dual;
uitgangen:
tekst |
---|
hallo wereld123! |
Reguliere expressie
Laten we zeggen dat we alleen getallen met 2 cijfers willen vervangen: reguliere expressie zal ze vinden met (\d\d)
SELECT REGEXP_REPLACE ('2, 5, and 10 are numbers in this example', '(\d\d)', '#')
FROM dual;
Resulteert in:
'2, 5, and # are numbers in this example'
Als ik delen van de tekst wil ruilen, gebruik ik \1
, \2
, \3
om de overeenkomende tekenreeksen op te roepen:
SELECT REGEXP_REPLACE ('swap around 10 in that one ', '(.*)(\d\d )(.*)', '\3\2\1\3')
FROM dual;
SUBSTR
SUBSTR
haalt een deel van een string op door de startpositie en het aantal te extraheren tekens aan te geven
SELECT SUBSTR('abcdefg',2,3) FROM DUAL;
geeft terug:
bcd
Om te tellen vanaf het einde van de string, accepteert SUBSTR
een negatief getal als tweede parameter, bijv
SELECT SUBSTR('abcdefg',-4,2) FROM DUAL;
geeft terug:
de
Om het laatste karakter in een string te krijgen: SUBSTR(mystring,-1,1)
LTRIM / RTRIM
LTRIM
en RTRIM
verwijderen tekens uit het begin of het einde (respectievelijk) van een string. Er kan een set van een of meer tekens worden opgegeven (standaard is een spatie) om te verwijderen.
Bijvoorbeeld,
select LTRIM('<===>HELLO<===>', '=<>')
,RTRIM('<===>HELLO<===>', '=<>')
from dual;
Geeft terug:
HELLO<===>
<===>HELLO